Author: janne.t.harkonen
Date: Mon Nov 24 08:46:11 2008
New Revision: 1094

Modified:
   trunk/src/robot/common/handlers.py
   trunk/src/robot/running/handlers.py

Log:
refactoring

Modified: trunk/src/robot/common/handlers.py
==============================================================================
--- trunk/src/robot/common/handlers.py  (original)
+++ trunk/src/robot/common/handlers.py  Mon Nov 24 08:46:11 2008
@@ -40,8 +40,12 @@
             exptxt = "%d to %d arguments" % (self.minargs, self.maxargs)
         else:
             exptxt = "at least %d argument%s" % (self.minargs, minend)
-        raise DataError("Keyword '%s' expected %s, got %d."
-                        % (self.longname, exptxt, len(args)))
+        raise DataError("%s expected %s, got %d."
+                        % (self._get_type_and_name(), exptxt, len(args)))
+
+    def _get_type_and_name(self):
+        # Overridden by InitHandlers
+        return "Keyword '%s'" % self.longname

     def _tracelog_args(self, logger, args):
         argstr = ' | '.join([utils.unic(a) for a in args ])

Modified: trunk/src/robot/running/handlers.py
==============================================================================
--- trunk/src/robot/running/handlers.py (original)
+++ trunk/src/robot/running/handlers.py Mon Nov 24 08:46:11 2008
@@ -322,47 +322,27 @@
         return handler


-class InitHandler(PythonHandler):
+class _BaseInitHandler:

-    def __init__(self, library, handler_method):
+    def __init__(self, baseclass, library, handler_method):
         if handler_method is None:
             self.library = library
             self.minargs = 0
             self.maxargs = 0
         else:
- PythonHandler.__init__(self, library, '__init__', handler_method)
+            baseclass.__init__(self, library, '__init__', handler_method)

-    def _raise_inv_args(self, args):
-        minend = utils.plural_or_not(self.minargs)
-        if self.minargs == self.maxargs:
-            exptxt = "%d argument%s" % (self.minargs, minend)
-        elif self.maxargs != sys.maxint:
-            exptxt = "%d to %d arguments" % (self.minargs, self.maxargs)
-        else:
-            exptxt = "at least %d argument%s" % (self.minargs, minend)
-        raise DataError("Test Library '%s' expected %s, got %d."
-                        % (self.library.name, exptxt, len(args)))
+    def _get_type_and_name(self):
+        return "Test Library '%s'" % self.library.name


-class JavaInitHandler(JavaHandler):
+class InitHandler(_BaseInitHandler, PythonHandler):

     def __init__(self, library, handler_method):
-        if handler_method is None:
-            self.library = library
-            self.minargs = 0
-            self.maxargs = 0
-        else:
-            JavaHandler.__init__(self, library, '__init__', handler_method)
+ _BaseInitHandler.__init__(self, PythonHandler, library, handler_method)

-    def _raise_inv_args(self, args):
-        minend = utils.plural_or_not(self.minargs)
-        if self.minargs == self.maxargs:
-            exptxt = "%d argument%s" % (self.minargs, minend)
-        elif self.maxargs != sys.maxint:
-            exptxt = "%d to %d arguments" % (self.minargs, self.maxargs)
-        else:
-            exptxt = "at least %d argument%s" % (self.minargs, minend)
-        raise DataError("Test Library '%s' expected %s, got %d."
-                        % (self.library.name, exptxt, len(args)))

+class JavaInitHandler(_BaseInitHandler, JavaHandler):

+    def __init__(self, library, handler_method):
+ _BaseInitHandler.__init__(self, JavaHandler, library, handler_method)

Reply via email to