Beispiel #1
0
class FakePool(object):
    ''' Fake class to simulate the behavior of the Pool class
    '''
    acq_loop_sleep_time = 0.1
    acq_loop_states_per_value = 10
    motion_loop_sleep_time = 0.1
    motion_loop_states_per_position = 10
    drift_correction = True

    def __init__(self, poolpath=[], loglevel=None):
        self.ctrl_manager = ControllerManager()
        if loglevel:
            self.ctrl_manager.setLogLevel(loglevel)
        self.ctrl_manager.set_pool(self)
        self.ctrl_manager.setControllerPath(poolpath)
        self.elements = {}
        self.elements_by_full_name = {}
        self._freeId = 1

    def add_element(self, element):
        self.elements[element.id] = element
        self.elements_by_full_name[element.full_name] = element

    def get_element(self, id):
        return self.elements[id]

    def get_element_by_full_name(self, full_name):
        return self.elements_by_full_name[full_name]

    def get_free_id(self):
        while True:
            try:
                self.get_element(self._freeId)
                self._freeId += 1
            except KeyError:
                return self._freeId

    def get_free_name(self, base_name):
        num = 1
        while True:
            try:
                self.get_element_by_full_name(base_name + "%s" % num)
                num += 1
            except KeyError:
                return base_name + "%s" % num

    def get_manager(self):
        return self.ctrl_manager

    def cleanup(self):
        self.ctrl_manager.cleanUp()
        self.ctrl_manager.reInit()
        self.elements = {}
        self.elements_by_full_name = {}
Beispiel #2
0
class FakePool(object):
    ''' Fake class to simulate the behavior of the Pool class
    '''
    acq_loop_sleep_time = 0.1
    acq_loop_states_per_value = 10
    motion_loop_sleep_time = 0.1
    motion_loop_states_per_position = 10
    drift_correction = True

    def __init__(self, poolpath=[], loglevel=None):
        self.ctrl_manager = ControllerManager()
        if loglevel:
            self.ctrl_manager.setLogLevel(loglevel)
        self.ctrl_manager.set_pool(self)
        self.ctrl_manager.setControllerPath(poolpath)
        self.elements = {}
        self.elements_by_full_name = {}
        self._freeId = 1

    def add_element(self, element):
        self.elements[element.id] = element
        self.elements_by_full_name[element.full_name] = element

    def get_element(self, id):
        return self.elements[id]

    def get_element_by_full_name(self, full_name):
        return self.elements_by_full_name[full_name]

    def get_free_id(self):
        while True:
            try:
                self.get_element(self._freeId)
                self._freeId += 1
            except KeyError:
                return self._freeId

    def get_free_name(self, base_name):
        num = 1
        while True:
            try:
                self.get_element_by_full_name(base_name + "%s" % num)
                num += 1
            except KeyError:
                return base_name + "%s" % num

    def get_manager(self):
        return self.ctrl_manager

    def cleanup(self):
        self.ctrl_manager.cleanUp()
        self.ctrl_manager.reInit()
        self.elements = {}
        self.elements_by_full_name = {}