Giter Club home page Giter Club logo

icepapcms's Introduction

IcepapCMS

Pypi version

Python module to configure, control and monitor IcePAP based systems.

Installation

Pypi

From within your favourite python environment:

NOTE: PyQT5 5.15.2 has a bug: https://bugreports.qt.io/browse/QTBUG-88688

pip install PyQT5==5.15.1 icepapcms

To use MySQL Databases you should install mysqlclient

To use PostgreSQL Databeses you should install psycopg2

Contribute

You can find how to contribute to this project on CONTRIBUTING.md file.

Ldap configuration:

The LDAP configuration is located on the icepapcms configuration file:

<user home>/.icepapcms/icepapcms.conf

The section "ldap" should have the next configuration:

[ldap]
    use = True
    not_allowed = root, operator, xxxxx
    servers = 'ldap://ldap01.test.com','ldap://ldap02.test.es'
    user_template = 'uid={},ou=Users,dc=Company,dc=XX'

All networks configuration

The all networks flag is allowed: icepapcms --all-networks

To avoid launching icepapcms with the flag all the time, it is possible to configure it on the icepapcms configuration file:

<user home>/.icepapcms/icepapcms.conf

The section "all_networks" should have the next configuration:

[all_networks]
use = True

icepapcms's People

Contributors

antoinedupre avatar cmft avatar cpt-majkel avatar guifrecuni avatar henquist avatar inki2 avatar jordi-aguilar avatar marceloalcocer avatar mirlin avatar rhomspuron avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

icepapcms's Issues

Wrong name size on mysql

Hello,

I am contacting you because I have a doubt that you are aware of the following problem that Manu et José-Maria found.

In the embedded DRIVER firmware, the limitation of the length of the name is 32bytes .

In MySQL tables, the limitation seems to be 24bytes.

Icepapcms gives error messages because the name of the driver was too long.

Setting log_foder in icepacms config has no effect

Setting log_folder = /tmp/log in the configuration has no effect.
The directory is created but logs are still written to ~/.icepapcms/log/log.txt

$ cat /etc/icepap/icepapcms.conf
[database]
    password = xxxxx
    server = xxxxx
    user = icepapcms
    database = mysql
[icepap]
    debug_enabled = False
    debug_level = 1
    log_folder = /tmp/log
[all_networks]
    use = True
$ rmdir /tmp/log
$ rm -rf ~/.icepapcms
$ icepapcms
Create missing directory: /tmp/log
Create missing directory: /mxn/home/benber/.icepapcms/snapshots
Create missing directory: /mxn/home/benber/.icepapcms/firmware
Create missing directory: /mxn/home/benber/.icepapcms/templates
Using config folder: /etc/icepap
Writing logs to: /mxn/home/benber/.icepapcms/log/log.txt
Traceback (most recent call last):
  File "/opt/conda/envs/icepap_client/bin/icepapcms", line 10, in <module>
    sys.exit(main())
  File "/opt/conda/envs/icepap_client/lib/python3.9/site-packages/icepapcms/__main__.py", line 95, in main
    listener = configure_logging()
  File "/opt/conda/envs/icepap_client/lib/python3.9/site-packages/icepapcms/__main__.py", line 66, in configure_logging
    log_file = logging.handlers.RotatingFileHandler(
  File "/opt/conda/envs/icepap_client/lib/python3.9/logging/handlers.py", line 153, in __init__
    BaseRotatingHandler.__init__(self, filename, mode, encoding=encoding,
  File "/opt/conda/envs/icepap_client/lib/python3.9/logging/handlers.py", line 58, in __init__
    logging.FileHandler.__init__(self, filename, mode=mode,
  File "/opt/conda/envs/icepap_client/lib/python3.9/logging/__init__.py", line 1146, in __init__
    StreamHandler.__init__(self, self._open())
  File "/opt/conda/envs/icepap_client/lib/python3.9/logging/__init__.py", line 1175, in _open
    return open(self.baseFilename, self.mode, encoding=self.encoding,
FileNotFoundError: [Errno 2] No such file or directory: '/mxn/home/benber/.icepapcms/log/log.txt'

GetDriverStatus connection error

Hi,
we encountered yesterday 2 new error messages which do not mean anything to us.
I wonder if there is a list somewhere of the meaning of each error message for users.

If this can help, here are the messages:

  1. first
Scanning Icepap Error
Could not scan the 'icepap-b28.thomx.fr' Icepap System.
Please make sure that the system 'icepap-b28.thomx.fr' is in your subnetwork.
Exception:IcePAPException(1,Connection Timeout, timed out)

It seems an output from icepapCMS/lib_icepapcms/mainmanager.py line 127

  1. second
GetDriverStatus error
Connection error

It seems an output from same file line 319

Regards

edit: I checked GetDriverStatus through ssh and I saw in the sidebar the complete title.

Detect limit switch positions more accurately

Add/replace functionality to retrieve more accurate values of limit switch positions. See info below:

The commands to be used to retrieve positions and encoders when a limit is hit during a search are:
1:srch lim+ (start the search, alt. lim-, home, see the manual)
1:?srchpos
->1:?srchpos 11311
1:?srchenc tgtenc
->1:?srchenc 11111
1:?srchstat
->1:?SRCHSTAT FOUND +1

Cheers,
Julio

Remove whitespace from folder names.

In Lund we encountered problems during release build due to the existence of whitespace in folder names 'IcepapCfg Icons' and 'IcepapCFG Icons Petits'. Even if the problem could be solved using other tools, we should not have whitespace in file/folder names.

UpgradeAxes crash

Using config folder: /home/rhoms/.icepapcms
Writing logs to: /home/rhoms/.icepapcms/log/log.txt
Using Sqlite database at /home/rhoms/.icepapcms/sqlitedb/icepapcms.db
qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 886, resource id: 35651740, major code: 40 (TranslateCoords), minor code: 0
Traceback (most recent call last):
File "/homelocal/rhoms/develop/pycharm/IcepapCMS/icepapcms/lib/icepapsmanager.py", line 627, in updateProgressBar
value = float(value)
ValueError: could not convert string to float: 'ACTIVE'
Aborted

Inactive drivers exceptions

Hola,

Clicking in an inactive driver raise some exception popup when trying to feed the test panel. (like ?INFOA request).
Fix incoming

/Julio, Antoine

Port TypeError

Hi,
We detected an error when adding new IcePAP system to the IcepapCMS. There is a TypeError:

Traceback (most recent call last): File "build/bdist.linux-x86_64/egg/pyIcePAP/communication.py", line 294, in _try_to_connect self._socket.connect((self._host, self._port)) File "/usr/lib64/python2.7/socket.py", line 224, in meth return getattr(self._sock,name)(*args) TypeError: an integer is required

It seems that port number from dialog box is passed as a unicode.

Remove the config path from the config?

In the Preferences dialog, there is a field for changing the config path.
This path also gets saved in the config file itself, with the result that the config file has a field pointing at itself.

This seems quite redundant, and may cause confusion. Should we remove this from the Preferences dialog and the config file?

System not accessible when driver removed.

Hello

When connecting to a system that has got some axis removed (not present) or axis that has never been signed (?CONFIG return blank string), the entire system is not accessible.

Icepapcms raise a connection lost:

Failed to retrieve configuration for driver 13.
'NoneType' object has no attribute '__getitem__'
exception: 'NoneType' object has no attribute '__getitem__'
Traceback (most recent call last):
  File "/mxn/home/antdup/projects/alba/IcepapCMS/icepapCMS/lib_icepapcms/mainmanager.py", line 198, in scanIcepap
    driver_list = self._ctrl_icepap.scanIcepapSystem(icepap_name,True)
  File "/mxn/home/antdup/projects/alba/IcepapCMS/icepapCMS/lib_icepapcms/icepapcontroller.py", line 135, in scanIcepapSystem
    driver_cfg = self.getDriverConfiguration(icepap_name, addr)
  File "/mxn/home/antdup/projects/alba/IcepapCMS/icepapCMS/lib_icepapcms/icepapcontroller.py", line 181, in getDriverConfiguration
    raise e
TypeError: 'NoneType' object has no attribute '__getitem__'

Traceback (most recent call last):
  File "/mxn/home/antdup/projects/alba/IcepapCMS/icepapCMS/ui_icepapcms/icepapcms.py", line 748, in treeview_on_doubleclick
    self.scanIcepap(item.itemData)
  File "/mxn/home/antdup/projects/alba/IcepapCMS/icepapCMS/ui_icepapcms/icepapcms.py", line 474, in scanIcepap
    self.treeSelectByLocation(icepap_system.name)
  File "/mxn/home/antdup/projects/alba/IcepapCMS/icepapCMS/ui_icepapcms/icepapcms.py", line 777, in treeSelectByLocation
    self.treeSelectByIndex(modelindex)
  File "/mxn/home/antdup/projects/alba/IcepapCMS/icepapCMS/ui_icepapcms/icepapcms.py", line 833, in treeSelectByIndex
    self.expandIndex(modelindex)
  File "/mxn/home/antdup/projects/alba/IcepapCMS/icepapCMS/ui_icepapcms/icepapcms.py", line 945, in expandIndex
    index = self._tree_model.parent(index)       
  File "/mxn/home/antdup/projects/alba/IcepapCMS/icepapCMS/ui_icepapcms/icepap_treemodel.py", line 116, in parent
    return self.createIndex(parentItem.row(), 0, parentItem)
AttributeError: 'NoneType' object has no attribute 'row'

/Julio, Antoine,

warning messages linked to firmware update?

Hi,
we just received a new Master which was installed with firmware 2.00.
IcePapCMS suggested us to update it to 3.17.

After accepting update, we launched icepapcms through console and got several messages:

  • in the left panel called "IcepapCMS DB", we see when we select the icepap we want to update, we right-clicked on Start IcePap system configuration in left panel and a window appears with:
Not posix operating system
Sorry system not yet supported.
We allow you access to the icepap even if it is in another subnet
[OK]
  • once clicked on [OK] button, the console displayed following output:
$ /usr/local/icepapcms/icepapcms 
DSP VERSION:  3.17
DB  VERSION:  2.0
diff_values set([(u'EXTHOLD', u'NONE'), (u'HOLDTIME', u'0'), (u'VER', u'3.17'), (u'ACTIVE', u'YES')])
DSP VERSION:  3.17
DB  VERSION:  2.0
diff_values set([(u'EXTHOLD', u'NONE'), (u'HOLDTIME', u'0'), (u'VER', u'3.17'), (u'ACTIVE', u'YES')])
DSP VERSION:  3.17
DB  VERSION:  2.0
diff_values set([(u'EXTHOLD', u'NONE'), (u'HOLDTIME', u'0'), (u'VER', u'3.17'), (u'ACTIVE', u'YES')])
DSP VERSION:  3.17
DB  VERSION:  2.0
diff_values set([(u'EXTHOLD', u'NONE'), (u'HOLDTIME', u'0'), (u'VER', u'3.17'), (u'ACTIVE', u'YES')])
  • right panel displayed 8 driver cards with 4 first drivers in blue, and 4 last drivers in green. In left panel, those 4 last cards are displayed with an exclamation mark.
  • when I right-click on 1 of the 4 last drivers, I got an option to solve driver configuration conflict (or something like this). Console display following messagewhen clicking on this option:
Traceback (most recent call last):
  File "/usr/local/icepapcms/ui_icepapcms/icepapcms.py", line 298, in contextEditIcepap
    self.editIcepap(item)       
  File "/usr/local/icepapcms/ui_icepapcms/icepapcms.py", line 341, in editIcepap
    dlg.setData(item.itemData.name, item.itemData.host, item.itemData.port, item.itemData.description, location)
AttributeError: 'IcepapDriver' object has no attribute 'host'

This conflict has been solved by entering the File menu and then selecting "Firmware update" to update the firmware with 3.17 firmware but the display of all these messages is not very helpful.
Perhaps they could be enhanced in a more understandable/usable way?

Regards.

Space in driver's name

Hi!

we've noticed that if one names driver using whitespace (in particular space), eg. FOO FOO, it is properly stored in driver's memory, NAME method reads it well (but somehow space is replaced with eol character?) but in IcepapCMS name is displayed only until the space character (in this example it will be FOO). As a walkaround we renamed problematic axis using underscore (FOO_FOO).

Are whitespace characters in name not allowed or there is bug in parsing somewhere? I did a quick search in the code but couldn't find anything.

Tested on version we use (3.2.2) and the latest 3.4.0 from pypi

Cheers,
Michal

Fix console window size

The new console runs a xterm, change the size of the window (QT) does not change the size of the xterm window.

Connecting to other subnets

We used icepapcms to control many IcePAPs in different subnets but I see it has changed because now it's not possible to connect to other subnets.

We find it as a regression. Is there any possibility to bypass this restriction

This is the screen when we use --all-networks flag:
image

Kind regards,
Mike

Limitation in absolute encoder offset data length

We have detected that the maximum number of digits allowed by the offset field for an Absolute Encoder (at IcepapCMS) is not enough to cover the full range of a 32-bit encoder. The length of this value is limited to 9 digits.

pyqt casting errors python >= 3.10

Python does not do the automatically casting and it generates errors

TypeError: not all arguments converted during string formatting
Call stack:
  File "/usr/local/miniconda3/envs/icepapcms/bin/icepapcms", line 10, in <module>
    sys.exit(main())
  File "/usr/local/miniconda3/envs/icepapcms/lib/python3.11/site-packages/icepapcms/__main__.py", line 99, in main
    app.start()
  File "/usr/local/miniconda3/envs/icepapcms/lib/python3.11/site-packages/icepapcms/helpers.py", line 14, in wrapper
    result = f(obj)
  File "/usr/local/miniconda3/envs/icepapcms/lib/python3.11/site-packages/icepapcms/gui/icepapcms.py", line 63, in start
    self.exec_()
  File "/usr/local/miniconda3/envs/icepapcms/lib/python3.11/site-packages/icepapcms/helpers.py", line 16, in wrapper
    result = f(obj, *args, **kwargs)
  File "/usr/local/miniconda3/envs/icepapcms/lib/python3.11/site-packages/icepapcms/gui/icepapcms.py", line 785, in treeview_on_click
    self.treeSelectByIndex(modelindex)
  File "/usr/local/miniconda3/envs/icepapcms/lib/python3.11/site-packages/icepapcms/helpers.py", line 16, in wrapper
    result = f(obj, *args, **kwargs)
  File "/usr/local/miniconda3/envs/icepapcms/lib/python3.11/site-packages/icepapcms/gui/icepapcms.py", line 825, in treeSelectByIndex
    self.ui.pageiPapDriver.fillData(item.itemData)
  File "/usr/local/miniconda3/envs/icepapcms/lib/python3.11/site-packages/icepapcms/helpers.py", line 16, in wrapper
    result = f(obj, *args, **kwargs)
  File "/usr/local/miniconda3/envs/icepapcms/lib/python3.11/site-packages/icepapcms/gui/pageipapdriver.py", line 721, in fillData
    self._setWidgetsValue(widgets, value)
  File "/usr/local/miniconda3/envs/icepapcms/lib/python3.11/site-packages/icepapcms/helpers.py", line 16, in wrapper
    result = f(obj, *args, **kwargs)
  File "/usr/local/miniconda3/envs/icepapcms/lib/python3.11/site-packages/icepapcms/gui/pageipapdriver.py", line 981, in _setWidgetsValue
    self.log.error("_setWidgetValue %s error:", value, e)
Message: '_setWidgetValue %s error:'
Arguments: ('24', TypeError("setValue(self, int): argument 1 has unexpected type 'float'"))
2023-01-23 09:40:57,048 - ERROR:icepapcms.gui.pageipapdriver.PageiPapDriver:Exception on highlightWidget: 'QSpinBox' object has no attribute 'defaultvalue'
Traceback (most recent call last):
  File "/usr/local/miniconda3/envs/icepapcms/lib/python3.11/site-packages/icepapcms/helpers.py", line 21, in wrapper
    raise e
  File "/usr/local/miniconda3/envs/icepapcms/lib/python3.11/site-packages/icepapcms/helpers.py", line 16, in wrapper
    result = f(obj, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/miniconda3/envs/icepapcms/lib/python3.11/site-packages/icepapcms/gui/pageipapdriver.py", line 298, in highlightWidget
    if widget.defaultvalue is None:

dependencies

Hi,
Reading the README.md, I noticed that python-storm==0.20 is needed.
Since Debian9 include storm 0.19 version in default repo, one can install 0.20 through pip but this does now allow a uniform installation.
I wondered if this 0.19-1 version could work or if 0.20 is mandatory?
Regards.

Select different icepap driver in different locations throws exception.

Hej,

We are running icepcms version 2.3.4 and we found this issue:

  • Select a driver in a icepap system in one location (in our case icpepap address is 10.0.113.36)
  • Select a driver in another icepap system in an other location (in our case icpepap address is 10.0.113.40).

The following exception is raised:

Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/icepapCMS/ui_icepapcms/icepapcms.py", line 746, in treeview_on_doubleclick
    self.scanIcepap(item.itemData)
  File "/usr/lib/python2.7/site-packages/icepapCMS/ui_icepapcms/icepapcms.py", line 472, in scanIcepap
    self.treeSelectByLocation(icepap_system.name)
  File "/usr/lib/python2.7/site-packages/icepapCMS/ui_icepapcms/icepapcms.py", line 775, in treeSelectByLocation
    self.treeSelectByIndex(modelindex)
  File "/usr/lib/python2.7/site-packages/icepapCMS/ui_icepapcms/icepapcms.py", line 796, in treeSelectByIndex
    if self.ui.pageiPapDriver.checkSaveConfigPending():
  File "/usr/lib/python2.7/site-packages/icepapCMS/ui_icepapcms/pageipapdriver.py", line 1002, in checkSaveConfigPending
    self._manager.endConfiguringDriver(self.icepap_driver)
  File "/usr/lib/python2.7/site-packages/icepapCMS/lib_icepapcms/mainmanager.py", line 434, in endConfiguringDriver
    self._ctrl_icepap.endConfiguringDriver(icepap_driver.icepapsystem_name, icepap_driver)
  File "/usr/lib/python2.7/site-packages/icepapCMS/lib_icepapcms/icepapcontroller.py", line 322, in endConfiguringDriver
    axis = self.iPaps[icepap_name][driver.addr]
KeyError: u'10.0.113.36'

We suspect that the previous axis object is not deleted from the IPaps dictionnary
This issue seems to be present in previous version (2.3.0)

Thanks,
Julio Lidon, Antoine Dupre

Problem with icepap library 3.5

(test_icepap) l-lob119-3:~ % 2021-03-17 11:29:08,593 - ERROR:icepapcms.lib.icepapsmanager.IcepapController:Exception on _get_driver_cfg_info: 'TCP' object has no attribute 'readline'
2021-03-17 11:29:08,594 - ERROR:icepapcms.lib.icepapsmanager.IcepapController:Scan Icepap System error: 'TCP' object has no attribute 'readline'
2021-03-17 11:29:08,594 - ERROR:icepapcms.lib.icepapsmanager.IcepapController:Exception on scanIcepapSystem: 'TCP' object has no attribute 'readline'
2021-03-17 11:29:08,594 - ERROR:icepapcms.lib.mainmanager.MainManager:Could not scan the "eutmp1" Icepap System.
Please make sure that the system "eutmp1"is in your subnetwork.
Exception: 'TCP' object has no attribute 'readline'

#When I click on OK in the first error window:

2021-03-17 11:29:12,714 - ERROR:icepapcms.lib.mainmanager.MainManager:Error on checking eutmp1 firmware version: 'eutmp1'
2021-03-17 11:29:12,741 - ERROR:icepapcms.lib.icepapsmanager.IcepapController:Exception on getDriverStatus: 'eutmp1'
2021-03-17 11:29:12,741 - ERROR:icepapcms.lib.mainmanager.MainManager:eutmp1,3 Connection timeout

#When I click on OK in the second error window:

2021-03-17 11:29:15,056 - ERROR:icepapcms.gui.icepap_treemodel.IcepapTreeModel:Exception on parent: 'NoneType' object has no attribute 'row'
2021-03-17 11:29:15,056 - ERROR:icepapcms.gui.icepapcms.IcepapCMS:Exception on expandIndex: 'NoneType' object has no attribute 'row'
2021-03-17 11:29:15,056 - ERROR:icepapcms.gui.icepapcms.IcepapCMS:Exception on treeSelectByIndex: 'NoneType' object has no attribute 'row'
2021-03-17 11:29:15,056 - ERROR:icepapcms.gui.icepapcms.IcepapCMS:Exception on treeSelectByLocation: 'NoneType' object has no attribute 'row'
2021-03-17 11:29:15,056 - ERROR:icepapcms.gui.icepapcms.IcepapCMS:Exception on scanIcepap: 'NoneType' object has no attribute 'row'
2021-03-17 11:29:15,056 - ERROR:icepapcms.gui.icepapcms.IcepapCMS:Exception on treeview_on_doubleclick: 'NoneType' object has no attribute 'row'
Traceback (most recent call last):
File "/users/blissadm/conda/miniconda/envs/test_icepap/lib/python3.7/site-packages/icepapcms/helpers.py", line 21, in wrapper
raise e
File "/users/blissadm/conda/miniconda/envs/test_icepap/lib/python3.7/site-packages/icepapcms/helpers.py", line 16, in wrapper
result = f(obj, *args, **kwargs)
File "/users/blissadm/conda/miniconda/envs/test_icepap/lib/python3.7/site-packages/icepapcms/gui/icepapcms.py", line 749, in treeview_on_doubleclick
self.scanIcepap(item.itemData)
File "/users/blissadm/conda/miniconda/envs/test_icepap/lib/python3.7/site-packages/icepapcms/helpers.py", line 21, in wrapper
raise e
File "/users/blissadm/conda/miniconda/envs/test_icepap/lib/python3.7/site-packages/icepapcms/helpers.py", line 16, in wrapper
result = f(obj, *args, **kwargs)
File "/users/blissadm/conda/miniconda/envs/test_icepap/lib/python3.7/site-packages/icepapcms/gui/icepapcms.py", line 487, in scanIcepap
self.treeSelectByLocation(icepap_system.name)
File "/users/blissadm/conda/miniconda/envs/test_icepap/lib/python3.7/site-packages/icepapcms/helpers.py", line 21, in wrapper
raise e
File "/users/blissadm/conda/miniconda/envs/test_icepap/lib/python3.7/site-packages/icepapcms/helpers.py", line 16, in wrapper
result = f(obj, *args, **kwargs)
File "/users/blissadm/conda/miniconda/envs/test_icepap/lib/python3.7/site-packages/icepapcms/gui/icepapcms.py", line 771, in treeSelectByLocation
self.treeSelectByIndex(modelindex)
File "/users/blissadm/conda/miniconda/envs/test_icepap/lib/python3.7/site-packages/icepapcms/helpers.py", line 21, in wrapper
raise e
File "/users/blissadm/conda/miniconda/envs/test_icepap/lib/python3.7/site-packages/icepapcms/helpers.py", line 16, in wrapper
result = f(obj, *args, **kwargs)
File "/users/blissadm/conda/miniconda/envs/test_icepap/lib/python3.7/site-packages/icepapcms/gui/icepapcms.py", line 839, in treeSelectByIndex
self.expandIndex(modelindex)
File "/users/blissadm/conda/miniconda/envs/test_icepap/lib/python3.7/site-packages/icepapcms/helpers.py", line 21, in wrapper
raise e
File "/users/blissadm/conda/miniconda/envs/test_icepap/lib/python3.7/site-packages/icepapcms/helpers.py", line 16, in wrapper
result = f(obj, *args, **kwargs)
File "/users/blissadm/conda/miniconda/envs/test_icepap/lib/python3.7/site-packages/icepapcms/gui/icepapcms.py", line 962, in expandIndex
index = self._tree_model.parent(index)
File "/users/blissadm/conda/miniconda/envs/test_icepap/lib/python3.7/site-packages/icepapcms/helpers.py", line 21, in wrapper
raise e
File "/users/blissadm/conda/miniconda/envs/test_icepap/lib/python3.7/site-packages/icepapcms/helpers.py", line 16, in wrapper
result = f(obj, *args, **kwargs)
File "/users/blissadm/conda/miniconda/envs/test_icepap/lib/python3.7/site-packages/icepapcms/gui/icepap_treemodel.py", line 130, in parent
return self.createIndex(parentItem.row(), 0, parentItem)
AttributeError: 'NoneType' object has no attribute 'row'

Database signature filed length

Hi,

We (at maxiv) are facing some issue an incoherence between the icepap signature and the database signature. The database signature is truncated because field is to small (40 characters).

+----+----------------------+-------------+----------------------------+-------------+------------------------------------------+---------------------+
| id | icepapsystem_name    | driver_addr | name                       | description | signature                                | date                |
+----+----------------------+-------------+----------------------------+-------------+------------------------------------------+---------------------+
|  1 | b-cosaxs-ctl-ipap-10 |           1 | 2018-02-05 19:16:44.131379 |             | jullid@b-maxpeem-cc-0_2018/01/30_20:36:4 | 2018-02-05 19:16:44 |
|  2 | b-cosaxs-ctl-ipap-10 |           2 | 2018-02-05 19:16:44.345534 |             | jullid@b-maxpeem-cc-0_2018/01/30_20:36:5 | 2018-02-05 19:16:44 |
|  3 | b-cosaxs-ctl-ipap-10 |           3 | 2018-02-05 19:16:44.432731 |             | jullid@b-maxpeem-cc-0_2018/01/30_20:36:5 | 2018-02-05 19:16:44 |
|  4 | b-cosaxs-ctl-ipap-10 |           4 | 2018-02-05 19:16:44.535985 |             | jullid@b-maxpeem-cc-0_2018/01/30_20:36:5 | 2018-02-05 19:16:44 |
|  5 | b-cosaxs-ctl-ipap-10 |           5 | 2018-02-05 19:16:44.628355 |             | jullid@b-maxpeem-cc-0_2018/01/30_20:36:5 | 2018-02-05 19:16:44 |
|  6 | b-cosaxs-ctl-ipap-10 |           6 | 2018-02-05 19:16:44.713880 |             | jullid@b-maxpeem-cc-0_2018/01/30_20:36:5 | 2018-02-05 19:16:44 |
|  7 | b-cosaxs-ctl-ipap-10 |           7 | 2018-02-05 19:16:44.797998 |             | jullid@b-maxpeem-cc-0_2018/01/30_20:37:0 | 2018-02-05 19:16:44 |
|  8 | b-cosaxs-ctl-ipap-10 |           8 | 2018-02-05 19:16:44.882113 |             | jullid@b-maxpeem-cc-0_2018/01/30_20:37:0 | 2018-02-05 19:16:44 |
|  9 | b-cosaxs-ctl-ipap-10 |           1 | Mon Feb  5 19:18:58 2018   |             | jullid@b-v-cosaxs-cc-0_2018/02/05_19:18: | 2018-02-05 19:18:57 |
| 10 | b-cosaxs-ctl-ipap-10 |           1 | Mon Feb  5 19:19:09 2018   |             | jullid@b-v-cosaxs-cc-0_2018/02/05_19:19: | 2018-02-05 19:19:04 |
| 11 | b-cosaxs-ctl-ipap-10 |           1 | Mon Feb  5 19:19:16 2018   |             | jullid@b-v-cosaxs-cc-0_2018/02/05_19:19: | 2018-02-05 19:19:15 |
| 12 | b-cosaxs-ctl-ipap-10 |           1 | Mon Feb  5 19:19:22 2018   |             | jullid@b-v-cosaxs-cc-0_2018/02/05_19:19: | 2018-02-05 19:19:20 |
| 13 | b-cosaxs-ctl-ipap-10 |           1 | Mon Feb  5 19:20:05 2018   |             | jullid@b-v-cosaxs-cc-0_2018/02/05_19:20: | 2018-02-05 19:20:04 |
| 14 | b-cosaxs-ctl-ipap-10 |           1 | Mon Feb  5 19:21:07 2018   |             | jullid@b-v-cosaxs-cc-0_2018/02/05_19:21: | 2018-02-05 19:21:05 |
| 15 | b-cosaxs-ctl-ipap-10 |           1 | Mon Feb  5 19:21:20 2018   |             | jullid@b-v-cosaxs-cc-0_2018/02/05_19:21: | 2018-02-05 19:21:19 |
| 16 | b-cosaxs-ctl-ipap-10 |           2 | Mon Feb  5 19:22:48 2018   |             | jullid@b-v-cosaxs-cc-0_2018/02/05_19:22: | 2018-02-05 19:22:47 |
| 17 | b-cosaxs-ctl-ipap-10 |           2 | Mon Feb  5 19:23:14 2018   |             | jullid@b-v-cosaxs-cc-0_2018/02/05_19:23: | 2018-02-05 19:23:13 |
| 18 | b-cosaxs-ctl-ipap-10 |           2 | Mon Feb  5 19:23:24 2018   |             | jullid@b-v-cosaxs-cc-0_2018/02/05_19:23: | 2018-02-05 19:23:22 |
| 19 | b-cosaxs-ctl-ipap-10 |           2 | Mon Feb  5 19:23:32 2018   |             | jullid@b-v-cosaxs-cc-0_2018/02/05_19:23: | 2018-02-05 19:23:31 |
| 20 | b-cosaxs-ctl-ipap-10 |           2 | Mon Feb  5 19:24:12 2018   |             | jullid@b-v-cosaxs-cc-0_2018/02/05_19:24: | 2018-02-05 19:24:11 |
+----+----------------------+-------------+----------------------------+-------------+------------------------------------------+---------------------+

PR incoming to increase the filed size to 100

/Julio, Antoine

New console is messing up with the refresh of IcepapCMS

At MAX IV, we noticed an issue with the new console when icepapcms 3.4.1 is launched remotely via "ssh -X".

Application works fine when opening it:

icepapcms

As soon as you open the console, some part of the icepapCMS window aren't refreshed anymore. We can't read the position and encoder value when switching to another tab and coming back:

icepapcms-with-console

The issue hasn't been noticed when running icepapcms locally but I think it shows an issue in the app.

We don't have that issue with 3.3.1.

IcepapCMS crashes with icepap library exception

Anthony Maro reports a GUI crash without logic message. After to debug it, we found the origin of the problem:

n [1]: from icepap import IcePAPController

In [2]: ipap = IcePAPController("eutmp1")

In [3]: m3 = ipap[3]

In [4]: m3.id
Out[4]: ('0008.0164.0F8D', '1099')

In [5]: ipap.find_axes()
Out[5]: [3, 6, 8]

In [6]: ipap[6].id
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-6-bfc34c7c1c66> in <module>
----> 1 ipap[6].id

~/conda/miniconda/envs/test-icepapcms5/lib/python3.7/site-packages/icepap/axis.py in id(self)
508 """
509 hw_id = self.send_cmd('?ID HW')[0]
--> 510 sn_id = self.send_cmd('?ID SN')[0]
511 return hw_id, sn_id
512

TypeError: 'NoneType' object is not subscriptable

In [7]: m6 = ipap[6]

In [8]: m6.id
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-8-25cdc0395ce3> in <module>
----> 1 m6.id

~/conda/miniconda/envs/test-icepapcms5/lib/python3.7/site-packages/icepap/axis.py in id(self)
508 """
509 hw_id = self.send_cmd('?ID HW')[0]
--> 510 sn_id = self.send_cmd('?ID SN')[0]
511 return hw_id, sn_id
512

TypeError: 'NoneType' object is not subscriptable

In [9]: m8 = ipap[8]

In [10]: m8.id
Out[10]: ('0008.02CC.AD63', '6404')

IcepapCMS is not protected for some exception from icepap library and it crashes.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.