robot.parsing.parser package

Submodules

robot.parsing.parser.blockparsers module

class robot.parsing.parser.blockparsers.Parser(model: robot.parsing.model.blocks.Container)[source]

Bases: abc.ABC

handles(statement: robot.parsing.model.statements.Statement) → bool[source]
parse(statement: robot.parsing.model.statements.Statement) → robot.parsing.parser.blockparsers.Parser | None[robot.parsing.parser.blockparsers.Parser, None][source]
class robot.parsing.parser.blockparsers.BlockParser(model: robot.parsing.model.blocks.Block)[source]

Bases: robot.parsing.parser.blockparsers.Parser, abc.ABC

unhandled_tokens = frozenset({'SETTING HEADER', 'COMMENT HEADER', 'INVALID HEADER', 'TESTCASE NAME', 'KEYWORD HEADER', 'VARIABLE HEADER', 'TESTCASE HEADER', 'KEYWORD NAME', 'TASK HEADER'})
handles(statement: robot.parsing.model.statements.Statement) → bool[source]
parse(statement: robot.parsing.model.statements.Statement) → robot.parsing.parser.blockparsers.BlockParser | None[robot.parsing.parser.blockparsers.BlockParser, None][source]
class robot.parsing.parser.blockparsers.TestCaseParser(model: robot.parsing.model.blocks.Block)[source]

Bases: robot.parsing.parser.blockparsers.BlockParser

handles(statement: robot.parsing.model.statements.Statement) → bool
parse(statement: robot.parsing.model.statements.Statement) → robot.parsing.parser.blockparsers.BlockParser | None[robot.parsing.parser.blockparsers.BlockParser, None]
unhandled_tokens = frozenset({'SETTING HEADER', 'COMMENT HEADER', 'INVALID HEADER', 'TESTCASE NAME', 'KEYWORD HEADER', 'VARIABLE HEADER', 'TESTCASE HEADER', 'KEYWORD NAME', 'TASK HEADER'})
class robot.parsing.parser.blockparsers.KeywordParser(model: robot.parsing.model.blocks.Block)[source]

Bases: robot.parsing.parser.blockparsers.BlockParser

handles(statement: robot.parsing.model.statements.Statement) → bool
parse(statement: robot.parsing.model.statements.Statement) → robot.parsing.parser.blockparsers.BlockParser | None[robot.parsing.parser.blockparsers.BlockParser, None]
unhandled_tokens = frozenset({'SETTING HEADER', 'COMMENT HEADER', 'INVALID HEADER', 'TESTCASE NAME', 'KEYWORD HEADER', 'VARIABLE HEADER', 'TESTCASE HEADER', 'KEYWORD NAME', 'TASK HEADER'})
class robot.parsing.parser.blockparsers.NestedBlockParser(model: robot.parsing.model.blocks.NestedBlock, handle_end: bool = True)[source]

Bases: robot.parsing.parser.blockparsers.BlockParser, abc.ABC

handles(statement: robot.parsing.model.statements.Statement) → bool[source]
parse(statement: robot.parsing.model.statements.Statement) → robot.parsing.parser.blockparsers.BlockParser | None[robot.parsing.parser.blockparsers.BlockParser, None][source]
unhandled_tokens = frozenset({'SETTING HEADER', 'COMMENT HEADER', 'INVALID HEADER', 'TESTCASE NAME', 'KEYWORD HEADER', 'VARIABLE HEADER', 'TESTCASE HEADER', 'KEYWORD NAME', 'TASK HEADER'})
class robot.parsing.parser.blockparsers.ForParser(model: robot.parsing.model.blocks.NestedBlock, handle_end: bool = True)[source]

Bases: robot.parsing.parser.blockparsers.NestedBlockParser

handles(statement: robot.parsing.model.statements.Statement) → bool
parse(statement: robot.parsing.model.statements.Statement) → robot.parsing.parser.blockparsers.BlockParser | None[robot.parsing.parser.blockparsers.BlockParser, None]
unhandled_tokens = frozenset({'SETTING HEADER', 'COMMENT HEADER', 'INVALID HEADER', 'TESTCASE NAME', 'KEYWORD HEADER', 'VARIABLE HEADER', 'TESTCASE HEADER', 'KEYWORD NAME', 'TASK HEADER'})
class robot.parsing.parser.blockparsers.WhileParser(model: robot.parsing.model.blocks.NestedBlock, handle_end: bool = True)[source]

Bases: robot.parsing.parser.blockparsers.NestedBlockParser

handles(statement: robot.parsing.model.statements.Statement) → bool
parse(statement: robot.parsing.model.statements.Statement) → robot.parsing.parser.blockparsers.BlockParser | None[robot.parsing.parser.blockparsers.BlockParser, None]
unhandled_tokens = frozenset({'SETTING HEADER', 'COMMENT HEADER', 'INVALID HEADER', 'TESTCASE NAME', 'KEYWORD HEADER', 'VARIABLE HEADER', 'TESTCASE HEADER', 'KEYWORD NAME', 'TASK HEADER'})
class robot.parsing.parser.blockparsers.IfParser(model: robot.parsing.model.blocks.NestedBlock, handle_end: bool = True)[source]

Bases: robot.parsing.parser.blockparsers.NestedBlockParser

parse(statement: robot.parsing.model.statements.Statement) → robot.parsing.parser.blockparsers.BlockParser | None[robot.parsing.parser.blockparsers.BlockParser, None][source]
handles(statement: robot.parsing.model.statements.Statement) → bool
unhandled_tokens = frozenset({'SETTING HEADER', 'COMMENT HEADER', 'INVALID HEADER', 'TESTCASE NAME', 'KEYWORD HEADER', 'VARIABLE HEADER', 'TESTCASE HEADER', 'KEYWORD NAME', 'TASK HEADER'})
class robot.parsing.parser.blockparsers.TryParser(model: robot.parsing.model.blocks.NestedBlock, handle_end: bool = True)[source]

Bases: robot.parsing.parser.blockparsers.NestedBlockParser

handles(statement: robot.parsing.model.statements.Statement) → bool
parse(statement) → robot.parsing.parser.blockparsers.BlockParser | None[robot.parsing.parser.blockparsers.BlockParser, None][source]
unhandled_tokens = frozenset({'SETTING HEADER', 'COMMENT HEADER', 'INVALID HEADER', 'TESTCASE NAME', 'KEYWORD HEADER', 'VARIABLE HEADER', 'TESTCASE HEADER', 'KEYWORD NAME', 'TASK HEADER'})

robot.parsing.parser.fileparser module

class robot.parsing.parser.fileparser.FileParser(source: Union[pathlib.Path, str, TextIO, None] = None)[source]

Bases: robot.parsing.parser.blockparsers.Parser

handles(statement: robot.parsing.model.statements.Statement) → bool[source]
parse(statement: robot.parsing.model.statements.Statement) → robot.parsing.parser.fileparser.SectionParser[source]
class robot.parsing.parser.fileparser.SectionParser(model: robot.parsing.model.blocks.Container)[source]

Bases: robot.parsing.parser.blockparsers.Parser

handles(statement: robot.parsing.model.statements.Statement) → bool[source]
parse(statement: robot.parsing.model.statements.Statement) → robot.parsing.parser.blockparsers.Parser | None[robot.parsing.parser.blockparsers.Parser, None][source]
class robot.parsing.parser.fileparser.SettingSectionParser(model: robot.parsing.model.blocks.Container)[source]

Bases: robot.parsing.parser.fileparser.SectionParser

handles(statement: robot.parsing.model.statements.Statement) → bool
parse(statement: robot.parsing.model.statements.Statement) → robot.parsing.parser.blockparsers.Parser | None[robot.parsing.parser.blockparsers.Parser, None]
class robot.parsing.parser.fileparser.VariableSectionParser(model: robot.parsing.model.blocks.Container)[source]

Bases: robot.parsing.parser.fileparser.SectionParser

handles(statement: robot.parsing.model.statements.Statement) → bool
parse(statement: robot.parsing.model.statements.Statement) → robot.parsing.parser.blockparsers.Parser | None[robot.parsing.parser.blockparsers.Parser, None]
class robot.parsing.parser.fileparser.CommentSectionParser(model: robot.parsing.model.blocks.Container)[source]

Bases: robot.parsing.parser.fileparser.SectionParser

handles(statement: robot.parsing.model.statements.Statement) → bool
parse(statement: robot.parsing.model.statements.Statement) → robot.parsing.parser.blockparsers.Parser | None[robot.parsing.parser.blockparsers.Parser, None]
class robot.parsing.parser.fileparser.ImplicitCommentSectionParser(model: robot.parsing.model.blocks.Container)[source]

Bases: robot.parsing.parser.fileparser.SectionParser

handles(statement: robot.parsing.model.statements.Statement) → bool
parse(statement: robot.parsing.model.statements.Statement) → robot.parsing.parser.blockparsers.Parser | None[robot.parsing.parser.blockparsers.Parser, None]
class robot.parsing.parser.fileparser.InvalidSectionParser(model: robot.parsing.model.blocks.Container)[source]

Bases: robot.parsing.parser.fileparser.SectionParser

handles(statement: robot.parsing.model.statements.Statement) → bool
parse(statement: robot.parsing.model.statements.Statement) → robot.parsing.parser.blockparsers.Parser | None[robot.parsing.parser.blockparsers.Parser, None]
class robot.parsing.parser.fileparser.TestCaseSectionParser(model: robot.parsing.model.blocks.Container)[source]

Bases: robot.parsing.parser.fileparser.SectionParser

parse(statement: robot.parsing.model.statements.Statement) → robot.parsing.parser.blockparsers.Parser | None[robot.parsing.parser.blockparsers.Parser, None][source]
handles(statement: robot.parsing.model.statements.Statement) → bool
class robot.parsing.parser.fileparser.KeywordSectionParser(model: robot.parsing.model.blocks.Container)[source]

Bases: robot.parsing.parser.fileparser.SectionParser

parse(statement: robot.parsing.model.statements.Statement) → robot.parsing.parser.blockparsers.Parser | None[robot.parsing.parser.blockparsers.Parser, None][source]
handles(statement: robot.parsing.model.statements.Statement) → bool

robot.parsing.parser.parser module

robot.parsing.parser.parser.get_model(source: Union[pathlib.Path, str, TextIO], data_only: bool = False, curdir: str | None[str, None] = None, lang: Union[Languages, Language, str, pathlib.Path, Iterable[Union[Language, str, pathlib.Path]], None] = None) → robot.parsing.model.blocks.File[source]

Parses the given source into a model represented as an AST.

How to use the model is explained more thoroughly in the general documentation of the robot.parsing module.

Parameters:
  • source – The source where to read the data. Can be a path to a source file as a string or as pathlib.Path object, an already opened file object, or Unicode text containing the date directly. Source files must be UTF-8 encoded.
  • data_only – When False (default), returns all tokens. When set to True, omits separators, comments, continuation markers, and other non-data tokens. Model like this cannot be saved back to file system.
  • curdir – Directory where the source file exists. This path is used to set the value of the built-in ${CURDIR} variable during parsing. When not given, the variable is left as-is. Should only be given only if the model will be executed afterward. If the model is saved back to disk, resolving ${CURDIR} is typically not a good idea.
  • lang – Additional languages to be supported during parsing. Can be a string matching any of the supported language codes or names, an initialized Language subclass, a list containing such strings or instances, or a Languages instance.

Use get_resource_model() or get_init_model() when parsing resource or suite initialization files, respectively.

robot.parsing.parser.parser.get_resource_model(source: Union[pathlib.Path, str, TextIO], data_only: bool = False, curdir: str | None[str, None] = None, lang: Union[Languages, Language, str, pathlib.Path, Iterable[Union[Language, str, pathlib.Path]], None] = None) → robot.parsing.model.blocks.File[source]

Parses the given source into a resource file model.

Same as get_model() otherwise, but the source is considered to be a resource file. This affects, for example, what settings are valid.

robot.parsing.parser.parser.get_init_model(source: Union[pathlib.Path, str, TextIO], data_only: bool = False, curdir: str | None[str, None] = None, lang: Union[Languages, Language, str, pathlib.Path, Iterable[Union[Language, str, pathlib.Path]], None] = None) → robot.parsing.model.blocks.File[source]

Parses the given source into an init file model.

Same as get_model() otherwise, but the source is considered to be a suite initialization file. This affects, for example, what settings are valid.

class robot.parsing.parser.parser.ConfigParser(model: robot.parsing.model.blocks.File)[source]

Bases: robot.parsing.model.visitor.ModelVisitor

classmethod parse(model: robot.parsing.model.blocks.File)[source]
visit_Config(node: robot.parsing.model.statements.Config)[source]
generic_visit(node)

Called if no explicit visitor function exists for a node.

visit(node: robot.parsing.model.statements.Node)

Visit a node.

visit_Constant(node)