Source code for RsCMPX_Base.Implementations.System.Cmw.Device

from .....Internal.Core import Core
from .....Internal.CommandsGroup import CommandsGroup


# noinspection PyPep8Naming,PyAttributeOutsideInit,SpellCheckingInspection
[docs] class DeviceCls: """Device commands group definition. 3 total commands, 2 Subgroups, 0 group commands""" def __init__(self, core: Core, parent): self._core = core self._cmd_group = CommandsGroup("device", core, parent) @property def vi(self): """vi commands group. 0 Sub-classes, 2 commands.""" if not hasattr(self, '_vi'): from .Vi import ViCls self._vi = ViCls(self._core, self._cmd_group) return self._vi @property def id(self): """id commands group. 0 Sub-classes, 1 commands.""" if not hasattr(self, '_id'): from .Id import IdCls self._id = IdCls(self._core, self._cmd_group) return self._id def clone(self) -> 'DeviceCls': """Clones the group by creating new object from it and its whole existing subgroups Also copies all the existing default Repeated Capabilities setting, which you can change independently without affecting the original group""" new_group = DeviceCls(self._core, self._cmd_group.parent) self._cmd_group.synchronize_repcaps(new_group) return new_group