19 is_list_like, printable_name, split_tags_from_doc,
24 from .arguments
import (ArgumentSpec, DynamicArgumentParser,
25 JavaArgumentCoercer, JavaArgumentParser,
27 from .dynamicmethods
import GetKeywordTypes
28 from .librarykeywordrunner
import (EmbeddedArgumentsRunner,
29 LibraryKeywordRunner, RunKeywordRunner)
30 from .runkwregister
import RUN_KW_REGISTER
34 if RUN_KW_REGISTER.is_run_keyword(library.orig_name, name):
43 if RUN_KW_REGISTER.is_run_keyword(library.orig_name, name):
49 Init = _PythonInitHandler
if not is_java_init(method)
else _JavaInitHandler
50 return Init(library,
'__init__', method, docgetter)
55 def __init__(self, library, handler_name, handler_method, doc='', tags=None):
66 tuple(tags_from_attr) +
70 robot_name = getattr(handler_method,
'robot_name',
None)
73 raise DataError(
'Keyword name cannot be empty.')
77 raise NotImplementedError
80 tags = getattr(handler_method,
'robot_tags', ())
82 raise DataError(
"Expected tags to be list-like, got %s."
87 if library.scope.is_global:
92 return self.
argumentsarguments.resolve(args, variables)
104 return '%s.%s' % (self.
librarylibrary.name, self.
namename)
116 return self.
librarylibrary.name
130 return getattr(lib_instance, handler_name)
135 def __init__(self, library, handler_name, handler_method):
136 _RunnableHandler.__init__(self, library, handler_name, handler_method,
145 def __init__(self, library, handler_name, handler_method):
146 _RunnableHandler.__init__(self, library, handler_name, handler_method)
155 code_object = getattr(handler,
'im_func', handler)
156 return code_object.argslist[:code_object.nargs]
159 positional, named = self.
argumentsarguments.resolve(args, variables,
161 arguments = self.
_arg_coercer_arg_coercer.coerce(positional, named,
162 dryrun=
not variables)
168 def __init__(self, library, handler_name, dynamic_method, doc='',
169 argspec=None, tags=None):
173 _RunnableHandler.__init__(self, library, handler_name,
174 dynamic_method.method, doc, tags)
180 raise DataError(
"Too few '%s' method parameters for **kwargs "
183 raise DataError(
"Too few '%s' method parameters for "
184 "keyword-only arguments support."
190 positional, named = self.
argumentsarguments.resolve(arguments, variables)
192 positional, named = self.
argumentsarguments.map(positional, named)
193 return positional, named
203 def handler(*positional, **kwargs):
205 return runner(name, positional, kwargs)
207 return runner(name, positional)
214 default_dry_run_keywords = (
'name' in self.
argumentsarguments.positional
and
219 _args_to_process = property
222 return RUN_KW_REGISTER.get_args_to_process(self.
librarylibrary.orig_name,
227 return self.
argumentsarguments.resolve(args, variables, resolve_named=
False,
228 resolve_variables_until=args_to_process)
235 _parse_arguments = _RunKeywordHandler._parse_arguments
236 resolve_arguments = _RunKeywordHandler.resolve_arguments
241 def __init__(self, library, handler_name, handler_method, docgetter):
242 _PythonHandler.__init__(self, library, handler_name, handler_method)
256 return parser.parse(handler_method, self.
librarylibrary.name)
261 def __init__(self, library, handler_name, handler_method, docgetter):
262 _JavaHandler.__init__(self, library, handler_name, handler_method)
277 return parser.parse(signatures, self.
librarylibrary.name)
302 return self.
name_regexpname_regexp.match(name)
is not None
Used when variable does not exist.
def create_runner(self, name)
def __init__(self, name_regexp, orig_handler)
def __getattr__(self, item)
def _get_global_handler(self, method, name)
def _get_handler(self, lib_instance, handler_name)
def _get_dynamic_handler(self, runner, name)
def resolve_arguments(self, arguments, variables=None)
def __init__(self, library, handler_name, dynamic_method, doc='', argspec=None, tags=None)
def _parse_arguments(self, handler_method)
def _get_signatures(self, handler)
def _parse_arguments(self, handler_method)
def __init__(self, library, handler_name, handler_method)
def resolve_arguments(self, args, variables=None)
def _parse_arguments(self, handler_method)
def __init__(self, library, handler_name, handler_method, docgetter)
def _parse_arguments(self, handler_method)
def __init__(self, library, handler_name, handler_method)
def _parse_arguments(self, handler_method)
def __init__(self, library, handler_name, handler_method, docgetter)
def _args_to_process(self)
def create_runner(self, name)
def resolve_arguments(self, args, variables=None)
def _get_global_handler(self, method, name)
def _get_name(self, handler_name, handler_method)
def _get_initial_handler(self, library, name, method)
def create_runner(self, name)
def current_handler(self)
def _get_tags_from_attribute(self, handler_method)
def _parse_arguments(self, handler_method)
def _get_handler(self, lib_instance, handler_name)
def __init__(self, library, handler_name, handler_method, doc='', tags=None)
def resolve_arguments(self, args, variables=None)
def Handler(library, name, method)
def InitHandler(library, method, docgetter=None)
def DynamicHandler(library, name, method, doc, argspec, tags=None)
def printable_name(string, code_style=False)
Generates and returns printable name from the given string.
def is_java_method(method)
def getshortdoc(doc_or_item, linesep='\n')
def split_tags_from_doc(doc)