Esempio n. 1
0
    def _get_lom_id_by_lom_object(self, lom_object):
        if is_cplusplus_lom_object(lom_object):
            return self.manager.get_lom_id(lom_object)
        for id, object in self.appointed_lom_ids.iteritems():
            if object == lom_object:
                return id

        id = -len(self.appointed_lom_ids)
        self.appointed_lom_ids[id] = lom_object
        if isinstance(lom_object, Disconnectable):

            def unregister_lom_object(f):

                @wraps(f)
                def wrapper(*a, **k):
                    try:
                        del self.appointed_lom_ids[id]
                    except KeyError:
                        pass

                    return f(*a, **k)

                return wrapper

            lom_object.disconnect = unregister_lom_object(lom_object.disconnect)
        return id
    def _get_lom_id_by_lom_object(self, lom_object):
        if is_cplusplus_lom_object(lom_object):
            return self.manager.get_lom_id(lom_object)
        for id, object in self.appointed_lom_ids.iteritems():
            if object == lom_object:
                return id

        id = -len(self.appointed_lom_ids)
        self.appointed_lom_ids[id] = lom_object
        if isinstance(lom_object, Disconnectable):

            def unregister_lom_object(f):
                @wraps(f)
                def wrapper(*a, **k):
                    try:
                        del self.appointed_lom_ids[id]
                    except KeyError:
                        pass

                    return f(*a, **k)

                return wrapper

            lom_object.disconnect = unregister_lom_object(
                lom_object.disconnect)
        return id
    def _get_lom_id_by_lom_object(self, lom_object):
        if is_cplusplus_lom_object(lom_object):
            return self.manager.get_lom_id(lom_object)
        for id, object in self.appointed_lom_ids.iteritems():
            if object == lom_object:
                return id

        id = -len(self.appointed_lom_ids)
        self.appointed_lom_ids[id] = lom_object
        return id
    def _get_lom_id_by_lom_object(self, lom_object):
        if is_cplusplus_lom_object(lom_object):
            return self.manager.get_lom_id(lom_object)
        for id, object in self.appointed_lom_ids.iteritems():
            if object == lom_object:
                return id

        id = -len(self.appointed_lom_ids)
        self.appointed_lom_ids[id] = lom_object
        return id
 def _tuple_element_from_path(self, path_components):
     lom_object = None
     parent = None
     attribute = path_components[-1]
     if len(path_components) > 1:
         parent = self._calculate_object_from_path(path_components[:-1])
     if not (attribute in ('cs', 'control_surfaces') and parent == None):
         raise AssertionError
         lom_object = TupleWrapper.get_tuple_wrapper(parent, 'control_surfaces')
     elif parent != None and hasattr(parent, attribute):
         selector = self._list_manager.get_list_wrapper if is_cplusplus_lom_object(parent) else TupleWrapper.get_tuple_wrapper
         lom_object = selector(parent, attribute)
     return lom_object
Esempio n. 6
0
 def _tuple_element_from_path(self, path_components):
     lom_object = None
     parent = None
     attribute = path_components[-1]
     if len(path_components) > 1:
         parent = self._calculate_object_from_path(path_components[:-1])
     if not (attribute in ('cs', 'control_surfaces') and parent == None):
         raise AssertionError
         lom_object = TupleWrapper.get_tuple_wrapper(parent, 'control_surfaces')
     elif parent != None and hasattr(parent, attribute):
         selector = self._list_manager.get_list_wrapper if is_cplusplus_lom_object(parent) else TupleWrapper.get_tuple_wrapper
         lom_object = selector(parent, attribute)
     return lom_object