22 from .builder
import ResourceFileBuilder
23 from .arguments
import EmbeddedArguments, UserKeywordArgumentParser
24 from .handlerstore
import HandlerStore
25 from .userkeywordrunner
import UserKeywordRunner, EmbeddedArgumentsRunner
26 from .usererrorhandler
import UserErrorHandler
30 TEST_CASE_FILE_TYPE = HandlerStore.TEST_CASE_FILE_TYPE
31 RESOURCE_FILE_TYPE = HandlerStore.RESOURCE_FILE_TYPE
33 def __init__(self, source, source_type=RESOURCE_FILE_TYPE):
38 source = resource.source
39 basename = os.path.basename(source)
if source
else None
40 self.
namename = os.path.splitext(basename)[0] \
42 self.
docdoc = resource.doc
46 for kw
in resource.keywords:
49 except DataError
as error:
52 embedded = isinstance(handler, EmbeddedArgumentsHandler)
54 self.
handlershandlers.add(handler, embedded)
55 except DataError
as error:
63 raise DataError(
'Keyword cannot have both normal and embedded '
68 LOGGER.error(
"Error in %s '%s': Creating keyword '%s' failed: %s"
70 handler.name, error.message))
78 self.
namename = keyword.name
81 self.
tagstags = keyword.tags
86 self.
keywordskeywords = keyword.keywords.normal
88 self.
teardownteardown = keyword.keywords.teardown
109 UserKeywordHandler.__init__(self, keyword, libname)
115 return self.
embedded_nameembedded_name.match(name)
is not None
Used when variable does not exist.
Created if creating handlers fail – running raises DataError.
def __init__(self, keyword, libname, embedded)
def create_runner(self, name)
def __init__(self, keyword, libname)
def create_runner(self, name)
def __init__(self, source, source_type=RESOURCE_FILE_TYPE)
def _log_creating_failed(self, handler, error)
def _create_handler(self, kw)
def getshortdoc(doc_or_item, linesep='\n')