diff options
author | Marc Josep Rosanes Siscart <mrosanes@cells.es> | 2015-01-21 11:43:56 +0100 |
---|---|---|
committer | cpascual <cpascual@cells.es> | 2015-01-21 16:09:14 +0100 |
commit | ea04ef1f40239302351533c1c0a8829fc0357bfc (patch) | |
tree | 3a0acc2dadbd0511271531a73ac6c99b7a19aaec /src/sardana | |
parent | 742102b5f63ea29c9615fa6872ac664f60599262 (diff) |
Add unregisterExtensions to sardana
Implement unregisterExtensions for sardana.taurus.core.tango.sardana
to undo the actions of registerExtensions().
This is useful, e.g., in tearDown methods of unittests.
Additionally, fix class name issue (pool.ControllerLib should be
called pool.ControllerLibrary)
Diffstat (limited to 'src/sardana')
-rw-r--r-- | src/sardana/taurus/core/tango/sardana/__init__.py | 7 | ||||
-rw-r--r-- | src/sardana/taurus/core/tango/sardana/macroserver.py | 6 | ||||
-rw-r--r-- | src/sardana/taurus/core/tango/sardana/pool.py | 17 |
3 files changed, 28 insertions, 2 deletions
diff --git a/src/sardana/taurus/core/tango/sardana/__init__.py b/src/sardana/taurus/core/tango/sardana/__init__.py index df3e2e52..45acf9ac 100644 --- a/src/sardana/taurus/core/tango/sardana/__init__.py +++ b/src/sardana/taurus/core/tango/sardana/__init__.py @@ -36,3 +36,10 @@ def registerExtensions(): pool.registerExtensions() macroserver.registerExtensions() + +def unregisterExtensions(): + from . import pool + from . import macroserver + + pool.unregisterExtensions() + macroserver.unregisterExtensions() diff --git a/src/sardana/taurus/core/tango/sardana/macroserver.py b/src/sardana/taurus/core/tango/sardana/macroserver.py index 46e2379d..60a0efbb 100644 --- a/src/sardana/taurus/core/tango/sardana/macroserver.py +++ b/src/sardana/taurus/core/tango/sardana/macroserver.py @@ -1158,3 +1158,9 @@ def registerExtensions(): factory = Factory('tango') factory.registerDeviceClass('MacroServer', BaseMacroServer) factory.registerDeviceClass('Door', BaseDoor) + +def unregisterExtensions(): + """Registers the macroserver extensions in the :class:`taurus.core.tango.TangoFactory`""" + factory = Factory('tango') + factory.unregisterDeviceClass('MacroServer') + factory.unregisterDeviceClass('Door') diff --git a/src/sardana/taurus/core/tango/sardana/pool.py b/src/sardana/taurus/core/tango/sardana/pool.py index 16105a63..57aae273 100644 --- a/src/sardana/taurus/core/tango/sardana/pool.py +++ b/src/sardana/taurus/core/tango/sardana/pool.py @@ -26,7 +26,7 @@ """The device pool submodule. It contains specific part of sardana device pool""" __all__ = ["InterruptException", "StopException", "AbortException", - "BaseElement", "ControllerClass", + "BaseElement", "ControllerClass", "ControllerLibrary", "PoolElement", "Controller", "ComChannel", "ExpChannel", "CTExpChannel", "ZeroDExpChannel", "OneDExpChannel", "TwoDExpChannel", "PseudoCounter", "Motor", "PseudoMotor", "MotorGroup", @@ -175,7 +175,7 @@ class ControllerClass(BaseElement): return cmp(self.getClassName(), o.getClassName()) -class ControllerLib(BaseElement): +class ControllerLibrary(BaseElement): def __init__(self, **kw): self.__dict__.update(kw) @@ -1779,3 +1779,16 @@ def registerExtensions(): for klass_name, klass in hw_type_map: factory.registerDeviceClass(klass_name, klass) + +def unregisterExtensions(): + factory = Factory() + factory.unregisterDeviceClass("Pool") + + hw_type_names = [ + 'Controller', + 'ComChannel', 'Motor', 'PseudoMotor', + 'CTExpChannel', 'ZeroDExpChannel', 'OneDExpChannel', 'TwoDExpChannel', + 'PseudoCounter', 'IORegister', 'MotorGroup', 'MeasurementGroup'] + + for klass_name in hw_type_names: + factory.unregisterDeviceClass(klass_name) |