equal
deleted
inserted
replaced
220 if winners is None: |
220 if winners is None: |
221 raise NoSelectableObject('args: %s\nkwargs: %s %s' |
221 raise NoSelectableObject('args: %s\nkwargs: %s %s' |
222 % (args, kwargs.keys(), |
222 % (args, kwargs.keys(), |
223 [repr(v) for v in appobjects])) |
223 [repr(v) for v in appobjects])) |
224 if len(winners) > 1: |
224 if len(winners) > 1: |
|
225 # don't we want the opposite: log in production environement, error |
|
226 # while debugging? |
225 if self.config.debugmode: |
227 if self.config.debugmode: |
226 self.error('select ambiguity, args: %s\nkwargs: %s %s', |
228 self.error('select ambiguity, args: %s\nkwargs: %s %s', |
227 args, kwargs.keys(), [repr(v) for v in winners]) |
229 args, kwargs.keys(), [repr(v) for v in winners]) |
228 else: |
230 else: |
229 raise Exception('select ambiguity, args: %s\nkwargs: %s %s' |
231 raise Exception('select ambiguity, args: %s\nkwargs: %s %s' |
332 """base method to add an object in the registry""" |
334 """base method to add an object in the registry""" |
333 assert not '__abstract__' in obj.__dict__ |
335 assert not '__abstract__' in obj.__dict__ |
334 try: |
336 try: |
335 vname = obj.__name__ |
337 vname = obj.__name__ |
336 except AttributeError: |
338 except AttributeError: |
|
339 # XXX may occurs? |
337 vname = obj.__class__.__name__ |
340 vname = obj.__class__.__name__ |
338 for registryname in class_registries(obj, registryname): |
341 for registryname in class_registries(obj, registryname): |
339 registry = self.setdefault(registryname) |
342 registry = self.setdefault(registryname) |
340 registry.register(obj, oid=oid, clear=clear) |
343 registry.register(obj, oid=oid, clear=clear) |
341 self.debug('registered appobject %s in registry %s with id %s', |
344 self.debug('registered appobject %s in registry %s with id %s', |