src/pyams_utils/adapter.py
changeset 437 b5131bd64de7
parent 419 05ff71a02b2d
equal deleted inserted replaced
436:f7154a8ec9eb 437:b5131bd64de7
   108                 if len(intfs) == 1:
   108                 if len(intfs) == 1:
   109                     provides = intfs[0]
   109                     provides = intfs[0]
   110                 if provides is None:
   110                 if provides is None:
   111                     raise TypeError("Missing 'provides' argument")
   111                     raise TypeError("Missing 'provides' argument")
   112 
   112 
   113             config = context.config.with_package(info.module)  # pylint: disable=no-member
       
   114             LOGGER.debug("Registering adapter %s for %s providing %s",
   113             LOGGER.debug("Registering adapter %s for %s providing %s",
   115                          str(obj), str(adapts), str(provides))
   114                          str(obj), str(adapts), str(provides))
   116             registry = settings.get('registry', config.registry)
   115             registry = settings.get('registry')
       
   116             if registry is None:
       
   117                 config = context.config.with_package(info.module)  # pylint: disable=no-member
       
   118                 registry = config.registry
   117             registry.registerAdapter(obj, adapts, provides, settings.get('name', ''))
   119             registry.registerAdapter(obj, adapts, provides, settings.get('name', ''))
   118 
   120 
   119         info = self.venusian.attach(wrapped, callback, category='pyams_adapter',
   121         info = self.venusian.attach(wrapped, callback, category='pyams_adapter',
   120                                     depth=depth + 1)
   122                                     depth=depth + 1)
   121 
   123