20 from ..lexer
import Token
21 from ..model
import (File, CommentSection, SettingSection, VariableSection,
22 TestCaseSection, KeywordSection)
24 from .blockparsers
import Parser, TestCaseParser, KeywordParser
35 if is_string(source)
and '\n' not in source
and os.path.isfile(source):
46 Token.SETTING_HEADER: SettingSectionParser,
47 Token.VARIABLE_HEADER: VariableSectionParser,
48 Token.TESTCASE_HEADER: TestCaseSectionParser,
49 Token.TASK_HEADER: TestCaseSectionParser,
50 Token.KEYWORD_HEADER: KeywordSectionParser,
51 Token.COMMENT_HEADER: CommentSectionParser,
52 Token.CONFIG: ImplicitCommentSectionParser,
53 Token.COMMENT: ImplicitCommentSectionParser,
54 Token.ERROR: ImplicitCommentSectionParser,
55 Token.EOL: ImplicitCommentSectionParser
57 parser = parser_class(statement)
58 self.
modelmodel.sections.append(parser.model)
69 return statement.type
not in Token.HEADER_TOKENS
72 self.
modelmodel.body.append(statement)
77 model_class = SettingSection
81 model_class = VariableSection
85 model_class = CommentSection
95 model_class = TestCaseSection
98 if statement.type == Token.TESTCASE_NAME:
100 self.
modelmodel.body.append(parser.model)
102 return SectionParser.parse(self, statement)
106 model_class = KeywordSection
109 if statement.type == Token.KEYWORD_NAME:
111 self.
modelmodel.body.append(parser.model)
113 return SectionParser.parse(self, statement)
def handles(self, statement)
def _get_path(self, source)
def parse(self, statement)
def __init__(self, source=None)
def parse(self, statement)
def handles(self, statement)
def __init__(self, header)
def parse(self, statement)
def parse(self, statement)