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)