diff --git a/.release b/.release index 3a4f11b25b10215b4d5e4ab63f9e8dfe14292f4a..ad2f3059fa13ad985b9fc17570dceea0a5dc1b6b 100644 --- a/.release +++ b/.release @@ -1,2 +1,2 @@ -release=0.3.1 -tag=lmcbaseclasses-0.3.1 +release=0.4.0 +tag=lmcbaseclasses-0.4.0 diff --git a/README.md b/README.md index 5b6a1e9bc43a49e150a425bd13965ec9fe0f510a..e04c0d629418e5502698d88e9d982b1abcc972bb 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ The lmc-base-classe repository contains set of eight classes as mentioned in SKA ## Version History -#### 0.4.0 (unreleased) +#### 0.4.0 - Changed all `DevEnum` attributes to use Python `enum.IntEnum` classes. These can be imported from the new `control_model` namespace, e.g., `skabase.control_model import AdminMode`. - The names of some of the enumeration labels were changed to better match the Control Systems Guidelines. @@ -36,6 +36,7 @@ The lmc-base-classe repository contains set of eight classes as mentioned in SKA - Changed `testMode` attribute from `str` to enumerated type: `TestMode`. - Deprecated `TangoLoggingLevel`. Will be removed in version 0.5.0. Use `skabase.control_model.LoggingLevel` instead. +- Remove unnecessary usage of `DeviceMeta` class. #### 0.3.1 - Used `ska_logging` library instead of defining logging format and handlers locally. @@ -108,7 +109,7 @@ The base classes are installed as python package in the system. The intended usa ``` from skabase.SKABaseDevice.SKABaseDevice import SKABaseDevice -class DishLeafNode(with_metaclass(DeviceMeta, SKABaseDevice)): +class DishLeafNode(SKABaseDevice): . . . diff --git a/docs/source/conf.py b/docs/source/conf.py index b9eba3a806672694123590250aaec416ce805f12..174ffbf76de8e75895cf24cd8e405ed68e5896d9 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -22,11 +22,11 @@ # return MagicMock() # # # Mock tango modules -# MOCK_MODULES = ['PyTango', 'tango', 'tango.server', 'run', 'DeviceMeta', 'command', +# MOCK_MODULES = ['PyTango', 'tango', 'tango.server', 'run', 'command', # 'future', 'future.utils', 'logging', 'logging.handlers'] # sys.modules.update((mod_name, Mock()) for mod_name in MOCK_MODULES) -autodoc_mock_imports = ['PyTango', 'tango', 'tango.server', 'run', 'DeviceMeta', 'command', +autodoc_mock_imports = ['PyTango', 'tango', 'tango.server', 'run', 'command', 'future', 'future.utils', 'ska_logging.configuration'] import sys diff --git a/skabase/SKAAlarmHandler/SKAAlarmHandler.py b/skabase/SKAAlarmHandler/SKAAlarmHandler.py index 48275c2429c90146e46658de18d82f87f98a953a..3b99c198eaba67b89054a55da5cc06e726a51a9e 100644 --- a/skabase/SKAAlarmHandler/SKAAlarmHandler.py +++ b/skabase/SKAAlarmHandler/SKAAlarmHandler.py @@ -14,11 +14,10 @@ attribute values and quality factors, and are separate from the "built-in" TANGO # Standard imports import os import sys -from future.utils import with_metaclass # Tango imports from tango import DebugIt -from tango.server import run, DeviceMeta, attribute, command, device_property +from tango.server import run, attribute, command, device_property # SKA specific imports from skabase import release @@ -31,7 +30,7 @@ from SKABaseDevice import SKABaseDevice __all__ = ["SKAAlarmHandler", "main"] -class SKAAlarmHandler(with_metaclass(DeviceMeta, SKABaseDevice)): +class SKAAlarmHandler(SKABaseDevice): """ A generic base device for Alarms for SKA. """ diff --git a/skabase/SKABaseDevice/SKABaseDevice.py b/skabase/SKABaseDevice/SKABaseDevice.py index 87cd77510ecbaef92e0d95663fa9ff3b0a0d5d3d..1c355c6a003e61c0b43d767098f71d29f7b4b104 100644 --- a/skabase/SKABaseDevice/SKABaseDevice.py +++ b/skabase/SKABaseDevice/SKABaseDevice.py @@ -18,12 +18,10 @@ import os import sys import threading -from future.utils import with_metaclass - # Tango imports import tango from tango import DebugIt -from tango.server import run, Device, DeviceMeta, attribute, command, device_property +from tango.server import run, Device, attribute, command, device_property from tango import AttrQuality, AttrWriteType from tango import DeviceProxy, DevFailed @@ -177,7 +175,7 @@ class LoggingUtils: __all__ = ["SKABaseDevice", "TangoLoggingLevel", "main"] -class SKABaseDevice(with_metaclass(DeviceMeta, Device)): +class SKABaseDevice(Device): """ A generic base device for SKA. """ diff --git a/skabase/SKACapability/SKACapability.py b/skabase/SKACapability/SKACapability.py index edfb78cf716aa45d50f6f9593fce3b8f3558d407..aa03bdf4e7b77fdf333d86775c452d32ef251016 100644 --- a/skabase/SKACapability/SKACapability.py +++ b/skabase/SKACapability/SKACapability.py @@ -12,11 +12,10 @@ Capability handling device # Standard import import os import sys -from future.utils import with_metaclass # Tango imports from tango import DebugIt -from tango.server import run, DeviceMeta, attribute, command, device_property +from tango.server import run, attribute, command, device_property # SKA specific imports from skabase import release @@ -30,7 +29,7 @@ from SKAObsDevice import SKAObsDevice __all__ = ["SKACapability", "main"] -class SKACapability(with_metaclass(DeviceMeta, SKAObsDevice)): +class SKACapability(SKAObsDevice): """ A Subarray handling device. It exposes the instances of configured capabilities. """ diff --git a/skabase/SKALogger/SKALogger.py b/skabase/SKALogger/SKALogger.py index c5c3b95eb2fb214c66393e5cab3b2fc59ce58569..e91ba77df5d0c0fb7950ea2c9cc1f306aaea8bfc 100644 --- a/skabase/SKALogger/SKALogger.py +++ b/skabase/SKALogger/SKALogger.py @@ -13,11 +13,10 @@ and to store logs using Python logging. It configures the log levels of remote l # Standard imports import os import sys -from future.utils import with_metaclass # Tango imports from tango import DebugIt, DeviceProxy, DevFailed -from tango.server import run, DeviceMeta, command +from tango.server import run, command # SKA specific imports from skabase import release @@ -31,7 +30,7 @@ from SKABaseDevice import SKABaseDevice __all__ = ["SKALogger", "main"] -class SKALogger(with_metaclass(DeviceMeta, SKABaseDevice)): +class SKALogger(SKABaseDevice): """ A generic base device for Logging for SKA. """ diff --git a/skabase/SKAMaster/SKAMaster.py b/skabase/SKAMaster/SKAMaster.py index fb7321887c6695027055b971aac5493f7e62c5cf..79f4a02d5006c7ed8e7623c21fca180acf710619 100644 --- a/skabase/SKAMaster/SKAMaster.py +++ b/skabase/SKAMaster/SKAMaster.py @@ -13,11 +13,10 @@ A master test # Standard imports import os import sys -from future.utils import with_metaclass # Tango imports from tango import DebugIt -from tango.server import run, DeviceMeta, attribute, command, device_property +from tango.server import run, attribute, command, device_property # SKA specific imports from skabase import release @@ -37,7 +36,7 @@ from utils import (validate_capability_types, validate_input_sizes, convert_dict __all__ = ["SKAMaster", "main"] -class SKAMaster(with_metaclass(DeviceMeta, SKABaseDevice)): +class SKAMaster(SKABaseDevice): """ A master test """ diff --git a/skabase/SKAObsDevice/SKAObsDevice.py b/skabase/SKAObsDevice/SKAObsDevice.py index 8e1bbdecd93b309cdb0dae9721e345c410693e8a..52c5dc0dade20f8c2498032d3c99eddde3fa53df 100644 --- a/skabase/SKAObsDevice/SKAObsDevice.py +++ b/skabase/SKAObsDevice/SKAObsDevice.py @@ -15,10 +15,9 @@ an obsMode will inherit from SKAObsDevice instead of just SKABaseDevice. # Standard imports import os import sys -from future.utils import with_metaclass # Tango imports -from tango.server import run, DeviceMeta, attribute +from tango.server import run, attribute # SKA specific imports from skabase import release @@ -33,8 +32,7 @@ from SKABaseDevice import SKABaseDevice __all__ = ["SKAObsDevice", "main"] - -class SKAObsDevice(with_metaclass(DeviceMeta, SKABaseDevice)): +class SKAObsDevice(SKABaseDevice): """ A generic base device for Observations for SKA. """ diff --git a/skabase/SKASubarray/SKASubarray.py b/skabase/SKASubarray/SKASubarray.py index 8b4a65a9aef01e6e7bfd9bd4fb29fbf224877cec..3daca3472109a5a08757c1ede2bdfd295baf5e82 100644 --- a/skabase/SKASubarray/SKASubarray.py +++ b/skabase/SKASubarray/SKASubarray.py @@ -13,11 +13,10 @@ capabilities, and exposes the related information like assigned resources, confi # Standard imports import os import sys -from future.utils import with_metaclass # Tango imports from tango import DebugIt -from tango.server import run, DeviceMeta, attribute, command +from tango.server import run, attribute, command from tango.server import device_property from tango import Except, ErrSeverity, DevState @@ -34,7 +33,7 @@ from SKAObsDevice import SKAObsDevice __all__ = ["SKASubarray", "main"] -class SKASubarray(with_metaclass(DeviceMeta, SKAObsDevice)): +class SKASubarray(SKAObsDevice): """ SubArray handling device """ diff --git a/skabase/SKATelState/SKATelState.py b/skabase/SKATelState/SKATelState.py index b4e20e518da8ba7466b8b02626b3e9e977097949..1a2dd778b533f1516340bfe844a5dd94b563fc09 100644 --- a/skabase/SKATelState/SKATelState.py +++ b/skabase/SKATelState/SKATelState.py @@ -12,10 +12,9 @@ A generic base device for Telescope State for SKA. # Standard import import os import sys -from future.utils import with_metaclass # Tango imports -from tango.server import run, DeviceMeta, device_property +from tango.server import run, device_property # SKA specific imports from skabase import release @@ -29,7 +28,7 @@ from SKABaseDevice import SKABaseDevice __all__ = ["SKATelState", "main"] -class SKATelState(with_metaclass(DeviceMeta, SKABaseDevice)): +class SKATelState(SKABaseDevice): """ A generic base device for Telescope State for SKA. """ diff --git a/skabase/SKATestDevice/SKATestDevice.py b/skabase/SKATestDevice/SKATestDevice.py index fb9d5e1e48f15c354bf83567a0d664cd8a89f0cb..a30f1e32549eea0bd218672edf01676847154781 100644 --- a/skabase/SKATestDevice/SKATestDevice.py +++ b/skabase/SKATestDevice/SKATestDevice.py @@ -13,13 +13,12 @@ A generic Test device for testing SKA base class functionalities. import os import sys import json -from future.utils import with_metaclass # Tango imports import tango from tango import DebugIt from tango.server import run -from tango.server import DeviceMeta, attribute, command +from tango.server import attribute, command # SKA specific imports from skabase import release @@ -36,7 +35,7 @@ from skabase.auxiliary.utils import (exception_manager, convert_api_value, coerc __all__ = ["SKATestDevice", "main"] -class SKATestDevice(with_metaclass(DeviceMeta, SKABaseDevice)): +class SKATestDevice(SKABaseDevice): """ A generic Test device for testing SKA base class functionalities. """ diff --git a/skabase/release.py b/skabase/release.py index 90c29bd5913fd3daaf0c485875f7e8ef0a30759e..c0561d08b3fbd3098606ae51173b19cd5f4606bc 100644 --- a/skabase/release.py +++ b/skabase/release.py @@ -7,7 +7,7 @@ """Release information for lmc-base-classes Python Package""" name = """lmcbaseclasses""" -version = "0.3.1" +version = "0.4.0" version_info = version.split(".") description = """A set of generic base devices for SKA Telescope.""" author = "SKA India and SARAO"