Revision: 3612
Author: janne.t.harkonen
Date: Fri May 28 00:22:31 2010
Log: Moved PublicUserLibrary to proper place, do transformations only
needed by libdoc there
http://code.google.com/p/robotframework/source/detail?r=3612
Modified:
/trunk/src/robot/running/__init__.py
/trunk/src/robot/running/userkeyword.py
=======================================
--- /trunk/src/robot/running/__init__.py Thu May 6 00:18:28 2010
+++ /trunk/src/robot/running/__init__.py Fri May 28 00:22:31 2010
@@ -16,11 +16,29 @@
from model import TestSuite
from keywords import Keyword
from testlibraries import TestLibrary
-from userkeyword import PublicUserLibrary as UserLibrary
from runkwregister import RUN_KW_REGISTER
from signalhandler import STOP_SIGNAL_MONITOR
+def UserLibrary(path):
+ """Create a user library instance from given resource file.
+
+ This is used at least by libdoc.py."""
+ from robot.parsing import ResourceFile
+ from robot import utils
+ from arguments import UserKeywordArguments
+ from userkeyword import UserLibrary as RuntimeUserLibrary
+
+ resource = ResourceFile(path)
+ ret = RuntimeUserLibrary(resource.keyword_table.keywords, path)
+ for handler in ret.handlers.values(): # This is done normally only at
runtime.
+ handler.arguments = UserKeywordArguments(handler._keyword_args,
+ handler.longname)
+ handler.doc = utils.unescape(handler._doc)
+ ret.doc = resource.setting_table.doc.value
+ return ret
+
+
class _Namespaces:
def __init__(self):
=======================================
--- /trunk/src/robot/running/userkeyword.py Mon May 24 09:14:53 2010
+++ /trunk/src/robot/running/userkeyword.py Fri May 28 00:22:31 2010
@@ -25,17 +25,8 @@
from arguments import UserKeywordArguments
-def PublicUserLibrary(path):
- """Create a user library instance from given resource file."""
- from robot.parsing import ResourceFile
-
- resource = ResourceFile(path)
- ret = UserLibrary(resource.user_keywords, path)
- ret.doc = resource.doc
- return ret
-
-
class UserLibrary(BaseLibrary):
+ supports_named_arguments = True # this attribute is for libdoc
def __init__(self, user_keywords, path=None):
self.name = self._get_name_for_resource_file(path)
@@ -115,10 +106,9 @@
self.return_value = keyword.return_.value
def _set_variable_dependent_settings(self, keyword):
+ # TODO: Is this method really needed?
self._doc = keyword.doc.value
self._timeout = (keyword.timeout.value, keyword.timeout.message)
- # FIXME: do we need this? Does libdoc need this?
- self.doc = utils.unescape(self._doc)
self.timeout = [ utils.unescape(item) for item in self._timeout ]
def init_keyword(self, varz):