def __init__(self, *args, **kwargs): self.children = [] if 'module' in kwargs: self.module = kwargs['module'] if 'name' not in kwargs: kwargs['name'] = self.module.__name__ del kwargs['module'] else: self.module = None if 'base_descriptor' in kwargs: if kwargs['base_descriptor'] is not None: self._base_descriptor = kwargs['base_descriptor'] if 'base_descriptor_id' not in kwargs: kwargs['base_descriptor_id'] = self._base_descriptor.id self._port_count = self._base_descriptor._port_count self._base_descriptor.children.append(self) else: self._base_descriptor = None self._port_count = 0 del kwargs['base_descriptor'] else: self._base_descriptor = None self._port_count = 0 # rename identifier to package for db if 'identifier' in kwargs: if 'package' not in kwargs: kwargs['package'] = kwargs['identifier'] del kwargs['identifier'] if 'base_descriptor_id' not in kwargs: kwargs['base_descriptor_id'] = -1 DBModuleDescriptor.__init__(self, *args, **kwargs) self.set_defaults()
def do_copy(self, new_ids=False, id_scope=None, id_remap=None): cp = DBModuleDescriptor.do_copy(self, new_ids, id_scope, id_remap) cp.__class__ = ModuleDescriptor cp.set_defaults(self) return cp