Revision: 2987
Author: janne.t.harkonen
Date: Thu Apr 15 01:05:41 2010
Log: Move tracelogging to Arguments
http://code.google.com/p/robotframework/source/detail?r=2987

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

=======================================
--- /trunk/src/robot/running/arguments.py       Wed Apr 14 10:55:35 2010
+++ /trunk/src/robot/running/arguments.py       Thu Apr 15 01:05:41 2010
@@ -30,9 +30,10 @@
             = self._determine_args(argument_source)
         self._name = kw_or_lib_name

-    def resolve(self, args, variables=None):
+    def resolve(self, args, variables, output=None):
posargs, namedargs = self._get_argument_resolver().resolve(args, variables)
         self.check_arg_limits(posargs, namedargs)
+        self._tracelog_args(output, posargs, namedargs)
         return posargs, namedargs

     def check_arg_limits(self, args, namedargs={}):
@@ -52,6 +53,13 @@
         raise DataError("%s '%s' expected %s, got %d."
                         % (self._type, self._name, exptxt, arg_count))

+    def _tracelog_args(self, logger, posargs, namedargs={}):
+        if not logger:
+            return
+        args = [ utils.safe_repr(a) for a in posargs ] \
+ + [ '%s=%s' % (utils.unic(a), utils.safe_repr(namedargs[a])) for a in namedargs ]
+        logger.trace('Arguments: [ %s ]' % ' | '.join(args))
+

 class PythonKeywordArguments(_KeywordArguments):

=======================================
--- /trunk/src/robot/running/handlers.py        Thu Apr 15 00:44:49 2010
+++ /trunk/src/robot/running/handlers.py        Thu Apr 15 01:05:41 2010
@@ -83,8 +83,7 @@

         Note: This method MUST NOT change this object's internal state.
         """
-        posargs, kwargs = self._process_args(args, namespace.variables)
-        self._tracelog_args(output, posargs, kwargs)
+ posargs, kwargs = self._process_args(output, args, namespace.variables)
         self._capture_output()
         try:
return self._run_handler(self._current_handler(), posargs, kwargs,
@@ -92,13 +91,8 @@
         finally:
             self._release_and_log_output(output)

-    def _process_args(self, args, variables):
-        return self.arguments.resolve(args, variables)
-
-    def _tracelog_args(self, logger, posargs, kwargs={}):
-        args = [ utils.safe_repr(a) for a in posargs ] \
- + [ '%s=%s' % (utils.unic(a), utils.safe_repr(kwargs[a])) for a in kwargs ]
-        logger.trace('Arguments: [ %s ]' % ' | '.join(args))
+    def _process_args(self, output, args, variables):
+        return self.arguments.resolve(args, variables, output)

     def _capture_output(self):
         utils.capture_output()
@@ -184,7 +178,7 @@

 class _RunKeywordHandler(_PythonHandler):

-    def _process_args(self, args, variables):
+    def _process_args(self, output, args, variables):
index = RUN_KW_REGISTER.get_args_to_process(self.library.orig_name, self.name)
         if index > 0:
             args = variables.replace_from_beginning(index, args)


--
To unsubscribe, reply using "remove me" as the subject.

Reply via email to