cwvreg.py
changeset 5562 4ccd599b5cf0
parent 5556 9ab2b4c74baf
child 5627 a7e40cccdc9b
equal deleted inserted replaced
5561:58b05c314443 5562:4ccd599b5cf0
   615                                'interface among %s)', obj, ifaces)
   615                                'interface among %s)', obj, ifaces)
   616                     self.unregister(obj)
   616                     self.unregister(obj)
   617             # since 3.9: remove appobjects which depending on other, unexistant
   617             # since 3.9: remove appobjects which depending on other, unexistant
   618             # appobjects
   618             # appobjects
   619             for obj, (regname, regids) in self._needs_appobject.items():
   619             for obj, (regname, regids) in self._needs_appobject.items():
   620                 registry = self[regname]
   620                 try:
       
   621                     registry = self[regname]
       
   622                 except RegistryNotFound:
       
   623                     self.debug('kicking %s (no registry %s)', obj, regname)
       
   624                     self.unregister(obj)
       
   625                     continue
   621                 for regid in regids:
   626                 for regid in regids:
   622                     if registry.get(regid):
   627                     if registry.get(regid):
   623                         break
   628                         break
   624                 else:
   629                 else:
   625                     self.debug('kicking %s (no %s object in registry %s)',
   630                     self.debug('kicking %s (no %s object in registry %s)',
   626                                obj, ' or '.join(regids), registry)
   631                                obj, ' or '.join(regids), regname)
   627                     self.unregister(obj)
   632                     self.unregister(obj)
   628         super(CubicWebVRegistry, self).initialization_completed()
   633         super(CubicWebVRegistry, self).initialization_completed()
   629         for rtag in RTAGS:
   634         for rtag in RTAGS:
   630             # don't check rtags if we don't want to cleanup_interface_sobjects
   635             # don't check rtags if we don't want to cleanup_interface_sobjects
   631             rtag.init(self.schema, check=self.config.cleanup_interface_sobjects)
   636             rtag.init(self.schema, check=self.config.cleanup_interface_sobjects)