236 if len(provides) == 1: |
236 if len(provides) == 1: |
237 provides = provides[0] |
237 provides = provides[0] |
238 else: |
238 else: |
239 raise TypeError("Missing 'provides' argument") |
239 raise TypeError("Missing 'provides' argument") |
240 |
240 |
241 config = context.config.with_package(info.module) # pylint: disable=no-member |
|
242 LOGGER.debug("Registering utility {0} named '{1}' providing {2}".format( |
241 LOGGER.debug("Registering utility {0} named '{1}' providing {2}".format( |
243 str(component) if component else str(factory), |
242 str(component) if component else str(factory), |
244 settings.get('name', ''), |
243 settings.get('name', ''), |
245 str(provides))) |
244 str(provides))) |
246 registry = settings.get('registry', config.registry) |
245 registry = settings.get('registry') |
|
246 if registry is None: |
|
247 config = context.config.with_package(info.module) # pylint: disable=no-member |
|
248 registry = config.registry |
247 registry.registerUtility(component=component, factory=factory, |
249 registry.registerUtility(component=component, factory=factory, |
248 provided=provides, name=settings.get('name', '')) |
250 provided=provides, name=settings.get('name', '')) |
249 |
251 |
250 info = self.venusian.attach(wrapped, callback, category='pyams_utility', |
252 info = self.venusian.attach(wrapped, callback, category='pyams_utility', |
251 depth=depth + 1) |
253 depth=depth + 1) |