vregistry.py
branchtls-sprint
changeset 739 39721e56b56d
parent 736 18c940e3f98d
child 741 8c810ee593a3
equal deleted inserted replaced
738:9b8cb1976992 739:39721e56b56d
   233     def register(self, obj, registryname=None, oid=None, clear=False):
   233     def register(self, obj, registryname=None, oid=None, clear=False):
   234         """base method to add an object in the registry"""
   234         """base method to add an object in the registry"""
   235         assert not '__abstract__' in obj.__dict__
   235         assert not '__abstract__' in obj.__dict__
   236         registryname = registryname or obj.__registry__
   236         registryname = registryname or obj.__registry__
   237         oid = oid or obj.id
   237         oid = oid or obj.id
       
   238         assert oid
   238         registry = self._registries.setdefault(registryname, {})
   239         registry = self._registries.setdefault(registryname, {})
   239         if clear:
   240         if clear:
   240             vobjects = registry[oid] =  []
   241             vobjects = registry[oid] =  []
   241         else:
   242         else:
   242             vobjects = registry.setdefault(oid, [])
   243             vobjects = registry.setdefault(oid, [])