def status(self, item_id): """ get item status Args: item_id: item id (oid required) Returns: item status (integer) Raises: ResourceNotFound: item is not found """ if is_oid(item_id): tp, i = parse_oid(item_id) else: tp = 'lvar' i = item_id if tp == 'unit': return self.unit_status(i) if tp == 'sensor': return self.sensor_status(i) if tp == 'lvar': return self.lvar_status(i) raise ResourceNotFound
def value(self, item_id, default=''): """ get item value Args: item_id: item id (oid required) Optional: default: value if null (default is empty string) Returns: item value Raises: ResourceNotFound: item is not found """ if is_oid(item_id): tp, i = parse_oid(item_id) else: tp = 'lvar' i = item_id if tp == 'unit': return self.unit_value(i, default) if tp == 'sensor': return self.sensor_value(i, default) if tp == 'lvar': return self.lvar_value(i, default) raise ResourceNotFound
def state(self, item_id): """ get item state Args: item_id: item id (oid required) Returns: item status/value dict Raises: ResourceNotFound: item is not found @var_out status @var_out value """ if is_oid(item_id): tp, i = parse_oid(item_id) else: tp = 'lvar' i = item_id if tp == 'unit': return {'status': self.unit_status(i), 'value': self.unit_value(i)} if tp == 'sensor': return { 'status': self.sensor_status(i), 'value': self.sensor_value(i) } if tp == 'lvar': return {'status': self.lvar_status(i), 'value': self.lvar_value(i)} raise ResourceNotFound
def get_controller(controller_id): if not controller_lock.acquire(timeout=eva.core.config.timeout): logging.critical('controller_lock locking broken') eva.core.critical() return try: if not controller_id: raise InvalidParameter('controller id not specified') if is_oid(controller_id): tp, i = parse_oid(controller_id) else: tp, i = None, controller_id if i.find('/') > -1: i = i.split('/') if len(i) > 2: raise InvalidParameter('controller type unknown') if i[0] == 'uc' and i[1] in remote_ucs and (tp is None or tp == 'remote_uc'): return remote_ucs[i[1]] if i[0] == 'lm' and i[1] in remote_lms and (tp is None or tp == 'remote_lm'): return remote_lms[i[1]] raise ResourceNotFound finally: controller_lock.release()
def get_item(item_id): if not item_id: return None if is_oid(item_id): tp, i = parse_oid(item_id) else: i = item_id item = None if i.find('/') > -1: if i in items_by_full_id: item = items_by_full_id[i] elif not eva.core.config.enterprise_layout and i in items_by_id: item = items_by_id[i] return None if item and is_oid(item_id) and item.item_type != tp else item
def get_item(i): if is_oid(i): _tp, _i = parse_oid(i) else: return None if _tp == 'unit': gi = eva.sfa.controller.uc_pool.units elif _tp == 'sensor': gi = eva.sfa.controller.uc_pool.sensors elif _tp == 'lvar': gi = eva.sfa.controller.lm_pool.lvars else: return None if not _i in gi: return None return gi[_i]
def get_item(item_id): if not item_id: return None if is_oid(item_id): tp, i = parse_oid(item_id) else: i = item_id tp = None if tp == 'lmacro': return get_macro(i) elif tp == 'lcycle': return get_cycle(i) elif tp == 'dmatrix_rule': return get_dm_rule(i) elif tp == 'job': return get_job(i) item = None if i.find('/') > -1: if i in items_by_full_id: item = items_by_full_id[i] elif not eva.core.config.enterprise_layout and i in items_by_id: item = items_by_id[i] return None if item and is_oid(item_id) and item.item_type != tp else item