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.