vregistry.py
changeset 6366 1806148d6ce8
parent 6140 65a619eb31c4
parent 6347 ef47a2100c66
child 6389 72ba82a26e05
--- a/vregistry.py	Thu Sep 23 23:28:58 2010 +0200
+++ b/vregistry.py	Wed Sep 29 16:16:32 2010 +0200
@@ -46,6 +46,7 @@
 from cubicweb import RegistryNotFound, ObjectNotFound, NoSelectableObject
 from cubicweb.appobject import AppObject, class_regid
 
+
 def _toload_info(path, extrapath, _toload=None):
     """return a dictionary of <modname>: <modpath> and an ordered list of
     (file, module name) to load
@@ -221,17 +222,14 @@
             elif appobjectscore > 0 and appobjectscore == score:
                 winners.append(appobject)
         if winners is None:
-            raise NoSelectableObject('args: %s\nkwargs: %s %s'
-                                     % (args, kwargs.keys(),
-                                        [repr(v) for v in appobjects]))
+            raise NoSelectableObject(args, kwargs, appobjects)
         if len(winners) > 1:
             # log in production environement / test, error while debugging
+            msg = 'select ambiguity: %s\n(args: %s, kwargs: %s)'
             if self.config.debugmode or self.config.mode == 'test':
-                raise Exception('select ambiguity, args: %s\nkwargs: %s %s'
-                                % (args, kwargs.keys(),
-                                   [repr(v) for v in winners]))
-            self.error('select ambiguity, args: %s\nkwargs: %s %s',
-                       args, kwargs.keys(), [repr(v) for v in winners])
+                # raise bare exception in debug mode
+                raise Exception(msg % (winners, self.args, self.kwargs.keys()))
+            self.error(msg, winners, self.args, self.kwargs.keys())
         # return the result of calling the appobject
         return winners[0](*args, **kwargs)