コード例 #1
0
ファイル: sardemoenv.py プロジェクト: cmft/sardana
    def __init__(self, door_name=None):
        if door_name is None:
            door_name = getattr(sardanacustomsettings, 'UNITTEST_DOOR_NAME')
        registerExtensions()
        try:
            self.door = Device(door_name)
            self.ms = self.door.macro_server
        except ValueError:
            raise ValueError('The  door %s does not exist' % (door_name))

        self.controllers = None
        self.cts = None
        self.motors = None
        self.pseudos = None
        self.zerods = None
        self.oneds = None
        self.twods = None

        try:
            self.env = self.ms.getEnvironment()['_SAR_DEMO']['elements'] + \
                list(self.ms.getEnvironment()['_SAR_DEMO']['controllers'])
        except KeyError:
            err = 'sar_demo has not been executed (or door %s not ready)' % \
                  door_name
            raise RuntimeError(err)
コード例 #2
0
ファイル: upgrade_mntgrp.py プロジェクト: sardana-org/sardana
def main():
    parser = argparse.ArgumentParser(
        description="Change Tango DB in Sardana measurement group "
                    "configurations"
    )
    parser.add_argument("pool", type=str,
                        help="Pool device name")
    parser.add_argument("tango_db_pqdn", action="store", type=str,
                        help="old Tango database e.g. tbl09:10000")
    parser.add_argument("tango_db_fqdn", action="store", type=str,
                        help="new Tango database e.g. tbl09.cells.es:10000")
    parser.add_argument("--verbose", action="store_true")
    args = parser.parse_args()
    registerExtensions()
    device = taurus.Device(args.pool)
    try:
        hwinfo = device.getHWObj().info()
    except tango.DevFailed:
        print("Pool {} is not exported. Hint: start the DS. Exiting...".format(
            args.pool))
        sys.exit(-1)
    dev_class = hwinfo.dev_class
    if dev_class == "Pool":
        change_mntgrp(device, args.tango_db_pqdn, args.tango_db_fqdn,
                      args.verbose)
    else:
        print("Invalid model, expected Pool. Exiting...")
        sys.exit(-1)
    print("IMPORTANT: now restart the {0} device server".format(dev_class))
コード例 #3
0
ファイル: base.py プロジェクト: reszelaz/sardana
 def setUp(self):
     """Start Pool DS and register extensions.
     """
     # Discover the Pool launcher script
     poolExec = whichexecutable.whichfile("Pool")
     # register Pool server
     pool_ds_name = "Pool/" + self.pool_ds_name
     pool_free_ds_name = get_free_server(PyTango.Database(),
                                         pool_ds_name)
     self._starter = ProcessStarter(poolExec, pool_free_ds_name)
     # register Pool device
     dev_name_parts = self.pool_name.split('/')
     prefix = '/'.join(dev_name_parts[0:2])
     start_from = int(dev_name_parts[2])
     self.pool_name = get_free_device(PyTango.Database(), prefix, start_from)
     self._starter.addNewDevice(self.pool_name, klass='Pool')
     # start Pool server
     self._starter.startDs()
     # register extensions so the test methods can use them
     registerExtensions()
     self.pool = Device(self.pool_name)
コード例 #4
0
ファイル: sardemoenv.py プロジェクト: quanpower/sardana
    def init(self, door_name=None):
        if door_name is None:
            door_name = getattr(sardanacustomsettings, 'UNITTEST_DOOR_NAME')

        # TODO: As a workaround: check with PyTango that the door is running
        # in case of exception raise a RuntimeError. Ideally it should be done
        # just using taurus
        try:
            import PyTango
            d = PyTango.DeviceProxy(door_name)
            # when building docs, in RTD environment, PyTango is a mock
            assert is_number(d.ping())
        except:
            raise RuntimeError("Door %s is not running" % door_name)

        registerExtensions()

        self.door = Device(door_name)
        self.ms = self.door.macro_server

        self.controllers = None
        self.cts = None
        self.motors = None
        self.pseudos = None
        self.zerods = None
        self.oneds = None
        self.twods = None

        try:
            self.env = self.ms.getEnvironment()['_SAR_DEMO']['elements'] + \
                list(self.ms.getEnvironment()['_SAR_DEMO']['controllers'])
        except KeyError:
            err = 'sar_demo has not been executed (or door %s not ready)' % \
                  door_name
            raise RuntimeError(err)
        self.ready = True
コード例 #5
0
ファイル: sardemoenv.py プロジェクト: rhomspuron/sardana
    def init(self, door_name=None):
        if door_name is None:
            door_name = getattr(sardanacustomsettings, 'UNITTEST_DOOR_NAME')

        # TODO: As a workaround: check with PyTango that the door is running
        # in case of exception raise a RuntimeError. Ideally it should be done
        # just using taurus
        try:
            import PyTango
            d = PyTango.DeviceProxy(door_name)
            # when building docs, in RTD environment, PyTango is a mock
            assert is_number(d.ping())
        except:
            raise RuntimeError("Door %s is not running" % door_name)

        registerExtensions()

        self.door = Device(door_name)
        self.ms = self.door.macro_server

        self.controllers = None
        self.cts = None
        self.motors = None
        self.pseudos = None
        self.zerods = None
        self.oneds = None
        self.twods = None

        try:
            self.env = self.ms.getEnvironment()['_SAR_DEMO']['elements'] + \
                list(self.ms.getEnvironment()['_SAR_DEMO']['controllers'])
        except KeyError:
            err = 'sar_demo has not been executed (or door %s not ready)' % \
                  door_name
            raise RuntimeError(err)
        self.ready = True