From 851f4c8da2dc8e7883292eac9840bcc819011b8b Mon Sep 17 00:00:00 2001 From: Carlos Pascual Date: Tue, 29 Jan 2019 15:20:37 +0100 Subject: [PATCH 01/16] Bump version 4.5.0-alpha to 4.5.1-alpha --- .bumpversion.cfg | 2 +- lib/taurus/core/release.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index b1dc34355..72fbabb56 100644 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -3,7 +3,7 @@ commit = True message = Bump version {current_version} to {new_version} tag = False tag_name = {new_version} -current_version = 4.5.0-alpha +current_version = 4.5.1-alpha parse = (?P\d+)\.(?P\d+)\.(?P\d+)(\-(?P[a-z]+))? serialize = {major}.{minor}.{patch}-{release} diff --git a/lib/taurus/core/release.py b/lib/taurus/core/release.py index 3ede55c9d..4a9d25063 100644 --- a/lib/taurus/core/release.py +++ b/lib/taurus/core/release.py @@ -47,7 +47,7 @@ # we use semantic versioning (http://semver.org/) and we update it using the # bumpversion script (https://github.com/peritus/bumpversion) -version = '4.5.0-alpha' +version = '4.5.1-alpha' # generate version_info and revision (**deprecated** since version 4.0.2-dev). if '-' in version: From c8ba4c0be7af5339ed02b08d03c73f0a4eabe80c Mon Sep 17 00:00:00 2001 From: Carlos Pascual Date: Tue, 29 Jan 2019 16:17:59 +0100 Subject: [PATCH 02/16] Update CHANGELOG --- CHANGELOG.md | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 2b97b0246..6d754ed8b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,12 +7,25 @@ Note: changes in the [support-3.x] branch (which was split from the master branch after [3.7.1] and maintained in parallel to the develop branch) won't be reflected in this file. -## Unreleased +## [Unreleased] - ? ### Added -- Support of Python3 (beta stage, not yet production ready) (#703) +### Removed +### Changed +### Fixed +### Deprecated + + +## [4.5.0] - 2019-01-29 + +This is a special release for meeting the deadline of debian buster +freeze (debian 10). + +### Added +- Support of Python3 (beta stage, not yet production ready) (#703, #829, #835) - Support of other Qt bindings: PyQt4, PyQt5, PySide2, PySide (beta stage, not yet production ready) (TEP18) +- (experimental) Entry point for schemes in TaurusManager (#833) ### Removed - taurus.qt.qtgui.tree.taurusdevicetree submodule (obsolete, unused) @@ -25,9 +38,17 @@ develop branch) won't be reflected in this file. API is now available in `taurus.qt.qtgui.qwt5` - `taurus.qt.qtcore.util.emmiter.QEmitter.doSomething` signal signature changes from `collections.Iterable` to `list` +- Updated Pypy's Trove classifiers (we are now officially stable!) (#844) +- Default serialization mode for Tango reverted to `TangoSerial` (in 4.4.0 + the defaultfor Tango was changed to `Serial`) (#850) ### Fixed - bug when copying tango or evaluation attribute values (#831, #849) +- bug when adding listener to non-ready Tango device (#792) +- Various issues with Taurus Forms (#800, #805) +- problem when displaying TaurusWheelEdit in vertically-limited space (#788) +- bug when managing subscription event in Tango (#809) +- Other (#793, #819) ### Deprecated - `taurus.qt.qtgui.plot` @@ -50,8 +71,8 @@ develop branch) won't be reflected in this file. ### Added - Support fragment-based slicing of attributes ([TEP15]) - New serialization mode in which events are serialized by a Taurus - internal queue (the former "Serial" mode that was tango-centric has - been renamed to "TangoSerial") (#738) + internal queue (the former "Serial" mode that was tango-centric is + now deprecated and renamed "TangoSerial") (#738) ### Changed - Serialization mode now is explicitly set to Serial in the case @@ -390,6 +411,7 @@ and several other places](https://sf.net/p/tauruslib/tickets/milestone/Jul15/) [TEP14]: http://www.taurus-scada.org/tep/?TEP14.md [TEP15]: http://www.taurus-scada.org/tep/?TEP15.md [Unreleased]: https://github.com/taurus-org/taurus/tree/develop +[4.5.0]: https://github.com/taurus-org/taurus/tree/release-4.5.0 [4.4.0]: https://github.com/taurus-org/taurus/tree/4.4.0 [4.3.1]: https://github.com/taurus-org/taurus/tree/4.3.1 [4.3.0]: https://github.com/taurus-org/taurus/tree/4.3.0 From b286e047ac9a17b46ff1b0bbcb3dc63ee43f96a1 Mon Sep 17 00:00:00 2001 From: zreszela Date: Fri, 1 Feb 2019 10:09:05 +0100 Subject: [PATCH 03/16] Print exception message only instead of the whole repr --- lib/taurus/qt/qtgui/container/taurusmainwindow.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/taurus/qt/qtgui/container/taurusmainwindow.py b/lib/taurus/qt/qtgui/container/taurusmainwindow.py index 8464dcd81..8bec1f1b6 100644 --- a/lib/taurus/qt/qtgui/container/taurusmainwindow.py +++ b/lib/taurus/qt/qtgui/container/taurusmainwindow.py @@ -642,7 +642,7 @@ def loadSettings(self, settings=None, group=None, ignoreGeometry=False, factoryS self.applyQConfig(ba) except Exception as e: msg = 'Problem loading configuration from "%s". Some settings may not be restored.\n Details: %s' % ( - str(settings.fileName()), repr(e)) + str(settings.fileName()), e) self.error(msg) Qt.QMessageBox.warning( self, 'Error Loading settings', msg, Qt.QMessageBox.Ok) From e1b0a2629b975cc7bf54db2b418de7c40030e03d Mon Sep 17 00:00:00 2001 From: zreszela Date: Fri, 1 Feb 2019 10:25:02 +0100 Subject: [PATCH 04/16] Remove unnecessary space --- lib/taurus/qt/qtgui/container/taurusmainwindow.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/taurus/qt/qtgui/container/taurusmainwindow.py b/lib/taurus/qt/qtgui/container/taurusmainwindow.py index 8bec1f1b6..68ecc4ae7 100644 --- a/lib/taurus/qt/qtgui/container/taurusmainwindow.py +++ b/lib/taurus/qt/qtgui/container/taurusmainwindow.py @@ -641,7 +641,7 @@ def loadSettings(self, settings=None, group=None, ignoreGeometry=False, factoryS ba = settings.value("TaurusConfig") or Qt.QByteArray() self.applyQConfig(ba) except Exception as e: - msg = 'Problem loading configuration from "%s". Some settings may not be restored.\n Details: %s' % ( + msg = 'Problem loading configuration from "%s". Some settings may not be restored.\nDetails: %s' % ( str(settings.fileName()), e) self.error(msg) Qt.QMessageBox.warning( From fbfa8916d0a8f4ef0d443e5dbaf38f300a7bab2a Mon Sep 17 00:00:00 2001 From: Carlos Pascual Date: Fri, 1 Feb 2019 11:08:42 +0100 Subject: [PATCH 05/16] PEP8 correction Break long line and use new string formatting --- lib/taurus/qt/qtgui/container/taurusmainwindow.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/taurus/qt/qtgui/container/taurusmainwindow.py b/lib/taurus/qt/qtgui/container/taurusmainwindow.py index 68ecc4ae7..c3d8892ec 100644 --- a/lib/taurus/qt/qtgui/container/taurusmainwindow.py +++ b/lib/taurus/qt/qtgui/container/taurusmainwindow.py @@ -641,8 +641,10 @@ def loadSettings(self, settings=None, group=None, ignoreGeometry=False, factoryS ba = settings.value("TaurusConfig") or Qt.QByteArray() self.applyQConfig(ba) except Exception as e: - msg = 'Problem loading configuration from "%s". Some settings may not be restored.\nDetails: %s' % ( - str(settings.fileName()), e) + msg = ('Problem loading configuration from "{}". ' + + 'Some settings may not be restored.\n' + + ' Reason: {}' + ).format(str(settings.fileName()), e) self.error(msg) Qt.QMessageBox.warning( self, 'Error Loading settings', msg, Qt.QMessageBox.Ok) From b206d867a9e34bae8f2faaa15aab6228cf9716c5 Mon Sep 17 00:00:00 2001 From: zreszela Date: Fri, 1 Feb 2019 17:08:04 +0100 Subject: [PATCH 06/16] Avoid infinite recursion in TangoDevice.__getattr__ In some cases (it manifest from time to time in Sardana spock sardana-org/sardana#1035) we get maximum recursion errors, most probably because self._deviceObj is not yet assigned (maybe in the middle of the TangoDevice object construction). Avoid this type of errors what most probably will fallback into AttributeError. --- lib/taurus/core/tango/tangodevice.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/taurus/core/tango/tangodevice.py b/lib/taurus/core/tango/tangodevice.py index 562faa662..60e979c85 100755 --- a/lib/taurus/core/tango/tangodevice.py +++ b/lib/taurus/core/tango/tangodevice.py @@ -75,7 +75,7 @@ def __init__(self, name='', **kw): # This way we can call for example read_attribute on an object of this # class def __getattr__(self, name): - if self._deviceObj is not None: + if name != "_deviceObj" and self._deviceObj is not None: return getattr(self._deviceObj, name) cls_name = self.__class__.__name__ raise AttributeError("'%s' has no attribute '%s'" % (cls_name, name)) From 8bd71cb9d87772c0c93bb47a29db266e6673e882 Mon Sep 17 00:00:00 2001 From: zreszela Date: Tue, 5 Feb 2019 15:02:51 +0100 Subject: [PATCH 07/16] Fix makeman script (manpages permissions) --- doc/makeman | 2 ++ 1 file changed, 2 insertions(+) diff --git a/doc/makeman b/doc/makeman index 9bba9cf8d..51ac4d686 100755 --- a/doc/makeman +++ b/doc/makeman @@ -50,6 +50,8 @@ for f in `ls` V=`./$f --version 2>/dev/null |egrep -o '[0-9]+.[0-9]+(.[0-9])?'` echo help2man -N -o "$DOCDIR/man/$f.1" --version-string=$V ./$f help2man -N -o "$DOCDIR/man/$f.1" --version-string=$V ./$f + # scripts are installed with 755 permissions, but manpages should be 644 + chmod 644 "$DOCDIR/man/$f.1" done cd $DOCDIR From 8a78a2751c2bba4e108f4609fa8e6aa7bcad2d65 Mon Sep 17 00:00:00 2001 From: Carlos Pascual Date: Tue, 5 Feb 2019 16:24:18 +0100 Subject: [PATCH 08/16] Remove unnecessary exec permisions Do a maintenance cleanup of wrong permisions found with : find doc -type f -perm -u=x find lib -type f -perm -u=x --- doc/source/index.rst | 0 doc/source/tep/index.rst | 0 doc/source/tep/res/tep0_workflow.png | Bin doc/source/tep/res/tep14_merge_Attr_and_Conf.png | Bin lib/taurus/core/epics/test/test_epicsattribute.py | 0 lib/taurus/core/evaluation/evalfactory.py | 0 .../core/evaluation/test/test_evalattribute.py | 0 lib/taurus/core/resource/test/res/__init__.py | 0 .../core/resource/test/res/attr_resources_file.py | 0 lib/taurus/core/resource/test/test_resfactory.py | 0 lib/taurus/core/resource/test/test_resvalidator.py | 0 lib/taurus/core/tango/tangoattribute.py | 0 lib/taurus/core/tango/tangodevice.py | 0 lib/taurus/core/tango/test/test_tangofactory.py | 0 lib/taurus/core/tango/util/formatter.py | 0 lib/taurus/core/taurusdevice.py | 0 lib/taurus/core/taurusmanager.py | 0 lib/taurus/external/qt/QtHelp.py | 0 lib/taurus/external/qt/compat.py | 0 lib/taurus/qt/qtgui/graphic/taurusgraphic.py | 0 lib/taurus/qt/qtgui/input/qwheel.py | 0 lib/taurus/qt/qtgui/input/tauruslineedit.py | 0 lib/taurus/qt/qtgui/panel/qdataexportdialog.py | 0 .../qt/qtgui/panel/taurusconfigurationpanel.py | 0 lib/taurus/qt/qtgui/plot/__init__.py | 0 lib/taurus/qt/qtgui/qwt5/curveprops.py | 0 .../qt/qtgui/table/taurusdevicepropertytable.py | 0 lib/taurus/qt/qtgui/table/taurusvaluestable.py | 0 lib/taurus/qt/qtgui/taurusgui/conf/gui_noconf.py | 0 lib/taurus/qt/qtgui/taurusgui/conf/gui_selfconf.py | 0 lib/taurus/qt/qtgui/util/validator.py | 0 lib/taurus/tauruscustomsettings.py | 0 32 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 doc/source/index.rst mode change 100755 => 100644 doc/source/tep/index.rst mode change 100755 => 100644 doc/source/tep/res/tep0_workflow.png mode change 100755 => 100644 doc/source/tep/res/tep14_merge_Attr_and_Conf.png mode change 100755 => 100644 lib/taurus/core/epics/test/test_epicsattribute.py mode change 100755 => 100644 lib/taurus/core/evaluation/evalfactory.py mode change 100755 => 100644 lib/taurus/core/evaluation/test/test_evalattribute.py mode change 100755 => 100644 lib/taurus/core/resource/test/res/__init__.py mode change 100755 => 100644 lib/taurus/core/resource/test/res/attr_resources_file.py mode change 100755 => 100644 lib/taurus/core/resource/test/test_resfactory.py mode change 100755 => 100644 lib/taurus/core/resource/test/test_resvalidator.py mode change 100755 => 100644 lib/taurus/core/tango/tangoattribute.py mode change 100755 => 100644 lib/taurus/core/tango/tangodevice.py mode change 100755 => 100644 lib/taurus/core/tango/test/test_tangofactory.py mode change 100755 => 100644 lib/taurus/core/tango/util/formatter.py mode change 100755 => 100644 lib/taurus/core/taurusdevice.py mode change 100755 => 100644 lib/taurus/core/taurusmanager.py mode change 100755 => 100644 lib/taurus/external/qt/QtHelp.py mode change 100755 => 100644 lib/taurus/external/qt/compat.py mode change 100755 => 100644 lib/taurus/qt/qtgui/graphic/taurusgraphic.py mode change 100755 => 100644 lib/taurus/qt/qtgui/input/qwheel.py mode change 100755 => 100644 lib/taurus/qt/qtgui/input/tauruslineedit.py mode change 100755 => 100644 lib/taurus/qt/qtgui/panel/qdataexportdialog.py mode change 100755 => 100644 lib/taurus/qt/qtgui/panel/taurusconfigurationpanel.py mode change 100755 => 100644 lib/taurus/qt/qtgui/plot/__init__.py mode change 100755 => 100644 lib/taurus/qt/qtgui/qwt5/curveprops.py mode change 100755 => 100644 lib/taurus/qt/qtgui/table/taurusdevicepropertytable.py mode change 100755 => 100644 lib/taurus/qt/qtgui/table/taurusvaluestable.py mode change 100755 => 100644 lib/taurus/qt/qtgui/taurusgui/conf/gui_noconf.py mode change 100755 => 100644 lib/taurus/qt/qtgui/taurusgui/conf/gui_selfconf.py mode change 100755 => 100644 lib/taurus/qt/qtgui/util/validator.py mode change 100755 => 100644 lib/taurus/tauruscustomsettings.py diff --git a/doc/source/index.rst b/doc/source/index.rst old mode 100755 new mode 100644 diff --git a/doc/source/tep/index.rst b/doc/source/tep/index.rst old mode 100755 new mode 100644 diff --git a/doc/source/tep/res/tep0_workflow.png b/doc/source/tep/res/tep0_workflow.png old mode 100755 new mode 100644 diff --git a/doc/source/tep/res/tep14_merge_Attr_and_Conf.png b/doc/source/tep/res/tep14_merge_Attr_and_Conf.png old mode 100755 new mode 100644 diff --git a/lib/taurus/core/epics/test/test_epicsattribute.py b/lib/taurus/core/epics/test/test_epicsattribute.py old mode 100755 new mode 100644 diff --git a/lib/taurus/core/evaluation/evalfactory.py b/lib/taurus/core/evaluation/evalfactory.py old mode 100755 new mode 100644 diff --git a/lib/taurus/core/evaluation/test/test_evalattribute.py b/lib/taurus/core/evaluation/test/test_evalattribute.py old mode 100755 new mode 100644 diff --git a/lib/taurus/core/resource/test/res/__init__.py b/lib/taurus/core/resource/test/res/__init__.py old mode 100755 new mode 100644 diff --git a/lib/taurus/core/resource/test/res/attr_resources_file.py b/lib/taurus/core/resource/test/res/attr_resources_file.py old mode 100755 new mode 100644 diff --git a/lib/taurus/core/resource/test/test_resfactory.py b/lib/taurus/core/resource/test/test_resfactory.py old mode 100755 new mode 100644 diff --git a/lib/taurus/core/resource/test/test_resvalidator.py b/lib/taurus/core/resource/test/test_resvalidator.py old mode 100755 new mode 100644 diff --git a/lib/taurus/core/tango/tangoattribute.py b/lib/taurus/core/tango/tangoattribute.py old mode 100755 new mode 100644 diff --git a/lib/taurus/core/tango/tangodevice.py b/lib/taurus/core/tango/tangodevice.py old mode 100755 new mode 100644 diff --git a/lib/taurus/core/tango/test/test_tangofactory.py b/lib/taurus/core/tango/test/test_tangofactory.py old mode 100755 new mode 100644 diff --git a/lib/taurus/core/tango/util/formatter.py b/lib/taurus/core/tango/util/formatter.py old mode 100755 new mode 100644 diff --git a/lib/taurus/core/taurusdevice.py b/lib/taurus/core/taurusdevice.py old mode 100755 new mode 100644 diff --git a/lib/taurus/core/taurusmanager.py b/lib/taurus/core/taurusmanager.py old mode 100755 new mode 100644 diff --git a/lib/taurus/external/qt/QtHelp.py b/lib/taurus/external/qt/QtHelp.py old mode 100755 new mode 100644 diff --git a/lib/taurus/external/qt/compat.py b/lib/taurus/external/qt/compat.py old mode 100755 new mode 100644 diff --git a/lib/taurus/qt/qtgui/graphic/taurusgraphic.py b/lib/taurus/qt/qtgui/graphic/taurusgraphic.py old mode 100755 new mode 100644 diff --git a/lib/taurus/qt/qtgui/input/qwheel.py b/lib/taurus/qt/qtgui/input/qwheel.py old mode 100755 new mode 100644 diff --git a/lib/taurus/qt/qtgui/input/tauruslineedit.py b/lib/taurus/qt/qtgui/input/tauruslineedit.py old mode 100755 new mode 100644 diff --git a/lib/taurus/qt/qtgui/panel/qdataexportdialog.py b/lib/taurus/qt/qtgui/panel/qdataexportdialog.py old mode 100755 new mode 100644 diff --git a/lib/taurus/qt/qtgui/panel/taurusconfigurationpanel.py b/lib/taurus/qt/qtgui/panel/taurusconfigurationpanel.py old mode 100755 new mode 100644 diff --git a/lib/taurus/qt/qtgui/plot/__init__.py b/lib/taurus/qt/qtgui/plot/__init__.py old mode 100755 new mode 100644 diff --git a/lib/taurus/qt/qtgui/qwt5/curveprops.py b/lib/taurus/qt/qtgui/qwt5/curveprops.py old mode 100755 new mode 100644 diff --git a/lib/taurus/qt/qtgui/table/taurusdevicepropertytable.py b/lib/taurus/qt/qtgui/table/taurusdevicepropertytable.py old mode 100755 new mode 100644 diff --git a/lib/taurus/qt/qtgui/table/taurusvaluestable.py b/lib/taurus/qt/qtgui/table/taurusvaluestable.py old mode 100755 new mode 100644 diff --git a/lib/taurus/qt/qtgui/taurusgui/conf/gui_noconf.py b/lib/taurus/qt/qtgui/taurusgui/conf/gui_noconf.py old mode 100755 new mode 100644 diff --git a/lib/taurus/qt/qtgui/taurusgui/conf/gui_selfconf.py b/lib/taurus/qt/qtgui/taurusgui/conf/gui_selfconf.py old mode 100755 new mode 100644 diff --git a/lib/taurus/qt/qtgui/util/validator.py b/lib/taurus/qt/qtgui/util/validator.py old mode 100755 new mode 100644 diff --git a/lib/taurus/tauruscustomsettings.py b/lib/taurus/tauruscustomsettings.py old mode 100755 new mode 100644 From c050b6140d01bc4420e6b46b21f9eb136587a127 Mon Sep 17 00:00:00 2001 From: Carlos Pascual Date: Thu, 7 Feb 2019 14:50:30 +0100 Subject: [PATCH 09/16] Avoid use of parent model in TaurusDevPanel TaurusDevPanel uses the deprecated ParentModel API. Avoid it. Fixes #821 --- .../qt/qtgui/panel/taurusdevicepanel.py | 21 ++++++++++--------- .../qt/qtgui/panel/ui/TaurusDevPanel.ui | 4 ++-- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/lib/taurus/qt/qtgui/panel/taurusdevicepanel.py b/lib/taurus/qt/qtgui/panel/taurusdevicepanel.py index 63dd49262..8198351d8 100644 --- a/lib/taurus/qt/qtgui/panel/taurusdevicepanel.py +++ b/lib/taurus/qt/qtgui/panel/taurusdevicepanel.py @@ -505,12 +505,12 @@ def filterNonExported(obj): @UILoadable(with_ui='_ui') class TaurusDevPanel(TaurusMainWindow): - ''' + """ TaurusDevPanel is a Taurus Application inspired in Jive and Atk Panel. It Provides a Device selector and several dockWidgets for interacting and displaying information from the selected device. - ''' + """ def __init__(self, parent=None, designMode=False): TaurusMainWindow.__init__(self, parent, designMode=designMode) @@ -528,12 +528,6 @@ def __init__(self, parent=None, designMode=False): # self.deviceTree.insertFilter(filterNonExported) self.setCentralWidget(self.deviceTree) - # needed because of a limitation in when using the useParentModel - # property from designer and taurus parents are not the same as Qt - # Parents - self._ui.taurusAttrForm.recheckTaurusParent() - self._ui.taurusCommandsForm.recheckTaurusParent() - # register subwidgets for configuration purposes # self.registerConfigDelegate(self.taurusAttrForm) # self.registerConfigDelegate(self.deviceTree) @@ -551,7 +545,7 @@ def __init__(self, parent=None, designMode=False): self.splashScreen().finish(self) def createActions(self): - '''create actions ''' + """create actions""" # View Menu self.showAttrAction = self.viewMenu.addAction( self._ui.attrDW.toggleViewAction()) @@ -559,7 +553,7 @@ def createActions(self): self._ui.commandsDW.toggleViewAction()) def setTangoHost(self, host): - '''extended from :class:setTangoHost''' + """extended from :class:setTangoHost""" TaurusMainWindow.setTangoHost(self, host) self.deviceTree.setModel(host) # self.deviceTree.insertFilter(filterNonExported) @@ -586,6 +580,7 @@ def onDeviceSelected(self, devinfo): self.setDevice(devname) def setDevice(self, devname): + """set the device to be shown by the commands and attr forms""" # try to connect with the device self.setModel(devname) dev = self.getModelObj() @@ -605,6 +600,12 @@ def setDevice(self, devname): Qt.QMessageBox.warning(self, "Device unreachable", msg) self.setModel('') + def setModel(self, name): + """Reimplemented to delegate model to the commands and attrs forms""" + TaurusMainWindow.setModel(self, name) + self._ui.taurusAttrForm.setModel(name) + self._ui.taurusCommandsForm.setModel(name) + @classmethod def getQtDesignerPluginInfo(cls): ret = TaurusMainWindow.getQtDesignerPluginInfo() diff --git a/lib/taurus/qt/qtgui/panel/ui/TaurusDevPanel.ui b/lib/taurus/qt/qtgui/panel/ui/TaurusDevPanel.ui index a155f1ba5..22b7a03b2 100644 --- a/lib/taurus/qt/qtgui/panel/ui/TaurusDevPanel.ui +++ b/lib/taurus/qt/qtgui/panel/ui/TaurusDevPanel.ui @@ -32,7 +32,7 @@ - true + false @@ -54,7 +54,7 @@ - true + false From dc9d3ef9a731ee6cadf58cb64dd9da2c9e82cc3b Mon Sep 17 00:00:00 2001 From: Carlos Pascual Date: Thu, 7 Feb 2019 18:47:53 +0100 Subject: [PATCH 10/16] Avoid redundant display of units in TaurusForm (Fixes #642) TaurusForm uses TaurusValueLineEdit as a default write widget. If the attribute is a numeric scalar, this shows the magnitude and the units, which is redundant since the units are already displayed in the units widget. Replace the default line edit in TarusValue by a customized version that displays only the magnitude. This is a (quick and dirty) fix for #642 --- lib/taurus/qt/qtgui/panel/taurusvalue.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/lib/taurus/qt/qtgui/panel/taurusvalue.py b/lib/taurus/qt/qtgui/panel/taurusvalue.py index 815328288..426b486ca 100644 --- a/lib/taurus/qt/qtgui/panel/taurusvalue.py +++ b/lib/taurus/qt/qtgui/panel/taurusvalue.py @@ -204,6 +204,15 @@ class CenteredLed(TaurusLed): DefaultAlignment = Qt.Qt.AlignHCenter | Qt.Qt.AlignVCenter +class UnitLessLineEdit(TaurusValueLineEdit): + """A customised TaurusValueLineEdit that always shows the magnitude""" + def setModel(self, model): + if model is None or model == '': + return TaurusValueLineEdit.setModel(self, None) + return TaurusValueLineEdit.setModel(self, model + "#wvalue.magnitude") + + + class DefaultUnitsWidget(TaurusLabel): FORMAT = "{}" @@ -587,20 +596,20 @@ def getDefaultWriteWidgetClass(self, returnAll=False): modelobj = self.getModelObj() if modelobj is None: if returnAll: - return [TaurusValueLineEdit] + return [UnitLessLineEdit] else: - return TaurusValueLineEdit + return UnitLessLineEdit modelType = modelobj.getType() if modelobj.data_format == DataFormat._0D: if modelType == DataType.Boolean: result = [DefaultTaurusValueCheckBox, TaurusValueLineEdit] else: - result = [TaurusValueLineEdit, + result = [UnitLessLineEdit, TaurusValueSpinBox, TaurusWheelEdit] elif modelobj.data_format == DataFormat._1D: if modelType in (DataType.Float, DataType.Integer): result = [TaurusArrayEditorButton, - TaurusValuesTableButton_W, TaurusValueLineEdit] + TaurusValuesTableButton_W, UnitLessLineEdit] else: result = [TaurusValuesTableButton_W, TaurusValueLineEdit] elif modelobj.data_format == DataFormat._2D: From eb97b952a7a6dc534a7a50be9e50948c1836ab6c Mon Sep 17 00:00:00 2001 From: Carlos Pascual Date: Fri, 8 Feb 2019 09:15:38 +0100 Subject: [PATCH 11/16] Adapt test now that #642 is fixed The unittest for TaurusValue needs to be adapted now that the redundant units are removed. --- lib/taurus/qt/qtgui/panel/test/test_taurusvalue.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/taurus/qt/qtgui/panel/test/test_taurusvalue.py b/lib/taurus/qt/qtgui/panel/test/test_taurusvalue.py index 7ec66e6e1..ba3c0867a 100644 --- a/lib/taurus/qt/qtgui/panel/test/test_taurusvalue.py +++ b/lib/taurus/qt/qtgui/panel/test/test_taurusvalue.py @@ -36,9 +36,7 @@ @insertTest(helper_name="texts", model="tango:" + DEV_NAME + "/double_scalar", - expected=("double_scalar", "1.23", "0.00 mm", "mm"), - # expected=("double_scalar", "1.23", "0.0", "mm"), - # TODO: change taurusvalue's line edit to hide units + expected=("double_scalar", "1.23", "0.0", "mm") ) class TaurusValueTest(TangoSchemeTestLauncher, BaseWidgetTestCase, unittest.TestCase): From f5b410cb4a7d21e634a53dbeb19151a1d2a721e0 Mon Sep 17 00:00:00 2001 From: Carlos Pascual Date: Fri, 8 Feb 2019 09:59:37 +0100 Subject: [PATCH 12/16] Fix failing test due to wrong precision The TaurusValueTest is failing due to a wrong precision in the expected value. Fix it. --- lib/taurus/qt/qtgui/panel/test/test_taurusvalue.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/taurus/qt/qtgui/panel/test/test_taurusvalue.py b/lib/taurus/qt/qtgui/panel/test/test_taurusvalue.py index ba3c0867a..d973560e6 100644 --- a/lib/taurus/qt/qtgui/panel/test/test_taurusvalue.py +++ b/lib/taurus/qt/qtgui/panel/test/test_taurusvalue.py @@ -36,7 +36,7 @@ @insertTest(helper_name="texts", model="tango:" + DEV_NAME + "/double_scalar", - expected=("double_scalar", "1.23", "0.0", "mm") + expected=("double_scalar", "1.23", "0.00", "mm") ) class TaurusValueTest(TangoSchemeTestLauncher, BaseWidgetTestCase, unittest.TestCase): From 0135a6ecc2cdb028ca9a9c38f03499678228f71e Mon Sep 17 00:00:00 2001 From: Carlos Pascual Date: Fri, 8 Feb 2019 14:38:57 +0100 Subject: [PATCH 13/16] Bump version 4.5.1-alpha to 4.5.1 --- .bumpversion.cfg | 2 +- lib/taurus/core/release.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.bumpversion.cfg b/.bumpversion.cfg index 72fbabb56..a163373f4 100755 --- a/.bumpversion.cfg +++ b/.bumpversion.cfg @@ -3,7 +3,7 @@ commit = True message = Bump version {current_version} to {new_version} tag = False tag_name = {new_version} -current_version = 4.5.1-alpha +current_version = 4.5.1 parse = (?P\d+)\.(?P\d+)\.(?P\d+)(\-(?P[a-z]+))? serialize = {major}.{minor}.{patch}-{release} diff --git a/lib/taurus/core/release.py b/lib/taurus/core/release.py index 4a9d25063..78ec51fcb 100755 --- a/lib/taurus/core/release.py +++ b/lib/taurus/core/release.py @@ -47,7 +47,7 @@ # we use semantic versioning (http://semver.org/) and we update it using the # bumpversion script (https://github.com/peritus/bumpversion) -version = '4.5.1-alpha' +version = '4.5.1' # generate version_info and revision (**deprecated** since version 4.0.2-dev). if '-' in version: From aafcdaa97dffeff26571c9528ed8771763b9c648 Mon Sep 17 00:00:00 2001 From: Carlos Pascual Date: Fri, 8 Feb 2019 15:00:24 +0100 Subject: [PATCH 14/16] Update man pages --- doc/man/taurusconfigbrowser.1 | 4 ++-- doc/man/tauruscurve.1 | 4 ++-- doc/man/taurusdemo.1 | 2 +- doc/man/taurusdesigner.1 | 4 ++-- doc/man/taurusdevicepanel.1 | 4 ++-- doc/man/taurusform.1 | 4 ++-- doc/man/taurusgui.1 | 4 ++-- doc/man/taurusiconcatalog.1 | 4 ++-- doc/man/taurusimage.1 | 4 ++-- doc/man/tauruspanel.1 | 4 ++-- doc/man/taurusplot.1 | 4 ++-- doc/man/taurustestsuite.1 | 4 ++-- doc/man/taurustrend.1 | 4 ++-- doc/man/taurustrend1d.1 | 4 ++-- doc/man/taurustrend2d.1 | 4 ++-- 15 files changed, 29 insertions(+), 29 deletions(-) diff --git a/doc/man/taurusconfigbrowser.1 b/doc/man/taurusconfigbrowser.1 index e1ed971f6..812e12906 100644 --- a/doc/man/taurusconfigbrowser.1 +++ b/doc/man/taurusconfigbrowser.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH TAURUSCONFIGBROWSER "1" "July 2018" "taurusconfigbrowser 4.4.0" "User Commands" +.TH TAURUSCONFIGBROWSER "1" "February 2019" "taurusconfigbrowser 4.5.1" "User Commands" .SH NAME -taurusconfigbrowser \- manual page for taurusconfigbrowser 4.4.0 +taurusconfigbrowser \- manual page for taurusconfigbrowser 4.5.1 .SH SYNOPSIS .B taurusconfigbrowser [\fI\,options\/\fR] [\fI\,INIFILENAME\/\fR] diff --git a/doc/man/tauruscurve.1 b/doc/man/tauruscurve.1 index 8094d70b5..6cc6918b2 100644 --- a/doc/man/tauruscurve.1 +++ b/doc/man/tauruscurve.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH TAURUSCURVE "1" "July 2018" "tauruscurve 4.4.0" "User Commands" +.TH TAURUSCURVE "1" "February 2019" "tauruscurve 4.5.1" "User Commands" .SH NAME -tauruscurve \- manual page for tauruscurve 4.4.0 +tauruscurve \- manual page for tauruscurve 4.5.1 .SH SYNOPSIS .B tauruscurve [\fI\,options\/\fR] [\fI\, \/\fR[\fI\,\/\fR] ...] diff --git a/doc/man/taurusdemo.1 b/doc/man/taurusdemo.1 index 6831abb2b..d0a46f718 100644 --- a/doc/man/taurusdemo.1 +++ b/doc/man/taurusdemo.1 @@ -1,5 +1,5 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH TAURUSDEMO "1" "July 2018" "taurusdemo 1.0" "User Commands" +.TH TAURUSDEMO "1" "February 2019" "taurusdemo 1.0" "User Commands" .SH NAME taurusdemo \- manual page for taurusdemo 1.0 .SH SYNOPSIS diff --git a/doc/man/taurusdesigner.1 b/doc/man/taurusdesigner.1 index 370c3e8c0..344ca637e 100644 --- a/doc/man/taurusdesigner.1 +++ b/doc/man/taurusdesigner.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH TAURUSDESIGNER "1" "July 2018" "taurusdesigner 4.4.0" "User Commands" +.TH TAURUSDESIGNER "1" "February 2019" "taurusdesigner 4.5.1" "User Commands" .SH NAME -taurusdesigner \- manual page for taurusdesigner 4.4.0 +taurusdesigner \- manual page for taurusdesigner 4.5.1 .SH SYNOPSIS .B taurusdesigner [\fI\,options\/\fR] \fI\,\/\fR diff --git a/doc/man/taurusdevicepanel.1 b/doc/man/taurusdevicepanel.1 index 6117f9df0..4bb7c993a 100644 --- a/doc/man/taurusdevicepanel.1 +++ b/doc/man/taurusdevicepanel.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH TAURUSDEVICEPANEL "1" "July 2018" "taurusdevicepanel 4.4.0" "User Commands" +.TH TAURUSDEVICEPANEL "1" "February 2019" "taurusdevicepanel 4.5.1" "User Commands" .SH NAME -taurusdevicepanel \- manual page for taurusdevicepanel 4.4.0 +taurusdevicepanel \- manual page for taurusdevicepanel 4.5.1 .SH SYNOPSIS .B taurusdevicepanel [\fI\,options\/\fR] [\fI\,devname \/\fR[\fI\,attrs\/\fR]] diff --git a/doc/man/taurusform.1 b/doc/man/taurusform.1 index 0fd99c926..6fe913712 100644 --- a/doc/man/taurusform.1 +++ b/doc/man/taurusform.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH TAURUSFORM "1" "July 2018" "taurusform 4.4.0" "User Commands" +.TH TAURUSFORM "1" "February 2019" "taurusform 4.5.1" "User Commands" .SH NAME -taurusform \- manual page for taurusform 4.4.0 +taurusform \- manual page for taurusform 4.5.1 .SH SYNOPSIS .B taurusform [\fI\,options\/\fR] [\fI\,model1 \/\fR[\fI\,model2 \/\fR...]] diff --git a/doc/man/taurusgui.1 b/doc/man/taurusgui.1 index 8f0694b70..8819f07f9 100644 --- a/doc/man/taurusgui.1 +++ b/doc/man/taurusgui.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH TAURUSGUI "1" "July 2018" "taurusgui 4.4.0" "User Commands" +.TH TAURUSGUI "1" "February 2019" "taurusgui 4.5.1" "User Commands" .SH NAME -taurusgui \- manual page for taurusgui 4.4.0 +taurusgui \- manual page for taurusgui 4.5.1 .SH SYNOPSIS .B taurusgui [\fI\,options\/\fR] \fI\,confname\/\fR diff --git a/doc/man/taurusiconcatalog.1 b/doc/man/taurusiconcatalog.1 index f9c04120e..ef206e52b 100644 --- a/doc/man/taurusiconcatalog.1 +++ b/doc/man/taurusiconcatalog.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH TAURUSICONCATALOG "1" "July 2018" "taurusiconcatalog 4.4.0" "User Commands" +.TH TAURUSICONCATALOG "1" "February 2019" "taurusiconcatalog 4.5.1" "User Commands" .SH NAME -taurusiconcatalog \- manual page for taurusiconcatalog 4.4.0 +taurusiconcatalog \- manual page for taurusiconcatalog 4.5.1 .SH SYNOPSIS .B taurusiconcatalog [\fI\,options\/\fR] diff --git a/doc/man/taurusimage.1 b/doc/man/taurusimage.1 index 150f699ea..387f6b4bc 100644 --- a/doc/man/taurusimage.1 +++ b/doc/man/taurusimage.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH TAURUSIMAGE "1" "July 2018" "taurusimage 4.4.0" "User Commands" +.TH TAURUSIMAGE "1" "February 2019" "taurusimage 4.5.1" "User Commands" .SH NAME -taurusimage \- manual page for taurusimage 4.4.0 +taurusimage \- manual page for taurusimage 4.5.1 .SH SYNOPSIS .B taurusimage [\fI\,options\/\fR] \fI\,\/\fR diff --git a/doc/man/tauruspanel.1 b/doc/man/tauruspanel.1 index ac70730f3..a32690370 100644 --- a/doc/man/tauruspanel.1 +++ b/doc/man/tauruspanel.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH TAURUSPANEL "1" "July 2018" "tauruspanel 4.4.0" "User Commands" +.TH TAURUSPANEL "1" "February 2019" "tauruspanel 4.5.1" "User Commands" .SH NAME -tauruspanel \- manual page for tauruspanel 4.4.0 +tauruspanel \- manual page for tauruspanel 4.5.1 .SH SYNOPSIS .B tauruspanel [\fI\,options\/\fR] [\fI\,devname\/\fR] diff --git a/doc/man/taurusplot.1 b/doc/man/taurusplot.1 index fb2e1ad43..48e3962ee 100644 --- a/doc/man/taurusplot.1 +++ b/doc/man/taurusplot.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH TAURUSPLOT "1" "July 2018" "taurusplot 4.4.0" "User Commands" +.TH TAURUSPLOT "1" "February 2019" "taurusplot 4.5.1" "User Commands" .SH NAME -taurusplot \- manual page for taurusplot 4.4.0 +taurusplot \- manual page for taurusplot 4.5.1 .SH SYNOPSIS .B taurusplot [\fI\,options\/\fR] [\fI\, \/\fR[\fI\,\/\fR] ...] diff --git a/doc/man/taurustestsuite.1 b/doc/man/taurustestsuite.1 index fac013af8..2e4380336 100644 --- a/doc/man/taurustestsuite.1 +++ b/doc/man/taurustestsuite.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH TAURUSTESTSUITE "1" "July 2018" "taurustestsuite 4.4.0" "User Commands" +.TH TAURUSTESTSUITE "1" "February 2019" "taurustestsuite 4.5.1" "User Commands" .SH NAME -taurustestsuite \- manual page for taurustestsuite 4.4.0 +taurustestsuite \- manual page for taurustestsuite 4.5.1 .SH DESCRIPTION usage: taurustestsuite [\-h] [\-\-skip\-gui\-tests] [\-e EXCLUDE_PATTERN] .IP diff --git a/doc/man/taurustrend.1 b/doc/man/taurustrend.1 index e5e581a23..05e7bd865 100644 --- a/doc/man/taurustrend.1 +++ b/doc/man/taurustrend.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH TAURUSTREND "1" "July 2018" "taurustrend 4.4.0" "User Commands" +.TH TAURUSTREND "1" "February 2019" "taurustrend 4.5.1" "User Commands" .SH NAME -taurustrend \- manual page for taurustrend 4.4.0 +taurustrend \- manual page for taurustrend 4.5.1 .SH SYNOPSIS .B taurustrend [\fI\,options\/\fR] [\fI\, \/\fR[\fI\,\/\fR] ...] diff --git a/doc/man/taurustrend1d.1 b/doc/man/taurustrend1d.1 index 32c30ac72..f59136910 100644 --- a/doc/man/taurustrend1d.1 +++ b/doc/man/taurustrend1d.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH TAURUSTREND1D "1" "July 2018" "taurustrend1d 4.4.0" "User Commands" +.TH TAURUSTREND1D "1" "February 2019" "taurustrend1d 4.5.1" "User Commands" .SH NAME -taurustrend1d \- manual page for taurustrend1d 4.4.0 +taurustrend1d \- manual page for taurustrend1d 4.5.1 .SH SYNOPSIS .B taurustrend1d [\fI\,options\/\fR] \fI\,\/\fR diff --git a/doc/man/taurustrend2d.1 b/doc/man/taurustrend2d.1 index fa4f224b9..3c908679b 100644 --- a/doc/man/taurustrend2d.1 +++ b/doc/man/taurustrend2d.1 @@ -1,7 +1,7 @@ .\" DO NOT MODIFY THIS FILE! It was generated by help2man 1.47.4. -.TH TAURUSTREND2D "1" "July 2018" "taurustrend2d 4.4.0" "User Commands" +.TH TAURUSTREND2D "1" "February 2019" "taurustrend2d 4.5.1" "User Commands" .SH NAME -taurustrend2d \- manual page for taurustrend2d 4.4.0 +taurustrend2d \- manual page for taurustrend2d 4.5.1 .SH SYNOPSIS .B taurustrend2d [\fI\,options\/\fR] \fI\,\/\fR From 7e66327aa295a2007d88732864dfafc689fcdf37 Mon Sep 17 00:00:00 2001 From: Carlos Pascual Date: Fri, 8 Feb 2019 14:59:34 +0100 Subject: [PATCH 15/16] Update CHANGELOG.md --- CHANGELOG.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6d754ed8b..16311bb87 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,14 +7,15 @@ Note: changes in the [support-3.x] branch (which was split from the master branch after [3.7.1] and maintained in parallel to the develop branch) won't be reflected in this file. -## [Unreleased] - ? +## [4.5.1] - 2019-02-?? -### Added -### Removed -### Changed -### Fixed -### Deprecated +Together with [4.5.0], they cover the [Jan19 milestone](https://github.com/taurus-org/taurus/milestone/12) +### Fixed +- redundant units shown in TaurusForm write widget (#860) +- deprecation warning in tauruspanel +- infinite recursion issue in TangoDevice +- Other (#855) ## [4.5.0] - 2019-01-29 @@ -63,6 +64,7 @@ freeze (debian 10). - `taurus.external.qt.QtCore.to_qvariant` ## [4.4.0] - 2018-07-26 +[Jul18 milestone](https://github.com/taurus-org/taurus/milestone/11) ### Deprecated - pint, enum, unittest and argparse submodules of taurus.external (#723) @@ -411,6 +413,7 @@ and several other places](https://sf.net/p/tauruslib/tickets/milestone/Jul15/) [TEP14]: http://www.taurus-scada.org/tep/?TEP14.md [TEP15]: http://www.taurus-scada.org/tep/?TEP15.md [Unreleased]: https://github.com/taurus-org/taurus/tree/develop +[4.5.1]: https://github.com/taurus-org/taurus/tree/release-4.5.1 [4.5.0]: https://github.com/taurus-org/taurus/tree/release-4.5.0 [4.4.0]: https://github.com/taurus-org/taurus/tree/4.4.0 [4.3.1]: https://github.com/taurus-org/taurus/tree/4.3.1 From d161dfbb43ed9c14b349ad65918304780e7d3446 Mon Sep 17 00:00:00 2001 From: Carlos Pascual Date: Mon, 11 Feb 2019 15:27:06 +0100 Subject: [PATCH 16/16] Allow to fail travis for debian-stretch-py3 For unknown reasons, most of the spurious failures in travis (see https://github.com/taurus-org/taurus/issues/851) occur with the cpascual/taurus-test:debian-stretch-py3 image. Flag this as "allowed to fail" in travis until we solve #851 --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 1dee1f727..aa03582e1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -25,6 +25,7 @@ env: matrix: allow_failures: - env: DOCKER_IMG=cpascual/taurus-test:debian-jessie + - env: DOCKER_IMG=cpascual/taurus-test:debian-stretch-py3 - env: DOCKER_IMG=cpascual/taurus-test:debian-buster before_install: