This module contains number of template generators, which generates all the python code for the parser.
Indentation.
Generate string where el_name is indexed by index if there are enough items or alt is returned.
Parameters: |
|
---|---|
Returns: | str – Python code. |
>>> import generator as g
>>> print g._index_idiom("xex", 0)
# pick element from list
xex = xex[0] if xex else None
>>> print g._index_idiom("xex", 1, "something")
# pick element from list
xex = xex[1] if len(xex) - 1 >= 1 else 'something'
Generate code, which make sure that tag_name has enoug items.
Parameters: |
|
---|---|
Returns: | str – Python code. |
Generate .find() call for HTMLElement.
Parameters: |
|
---|---|
Returns: | str – Python code. |
>>> print g._find_template(["<xex>"], 3)
el = dom.find('<xex>')
# pick element from list
el = el[3] if len(el) - 1 >= 3 else None
Generate .wfind() call for HTMLElement.
Parameters: |
|
---|---|
Returns: | str – Python code. |
>>> print g._wfind_template(True, ["<xex>"], 3)
el = dom.wfind('<xex>').childs
# pick element from list
el = el[3] if len(el) - 1 >= 3 else None
Generate .match() call for HTMLElement.
Parameters: |
|
---|---|
Returns: | str – Python code. |
>>> print g._match_template(["<xex>"], 3)
el = dom.match('<xex>')
# pick element from list
el = el[3] if len(el) - 1 >= 3 else None
Generate neighbour matching call for HTMLElement, which returns only elements with required neighbours.
Parameters: |
|
---|---|
Returns: | str – Python code. |
Parser name composer.
Parameters: | var_name (str) – Name of the variable. |
---|---|
Returns: | str – Parser function name. |
Generate parser named name for given path.
Parameters: |
|
---|---|
Returns: | str – Python code for parsing path. |
Generate unittests for all of the generated code.
Parameters: | config (dict) – Original configuration dictionary. See conf_reader for details. |
---|---|
Returns: | str – Python code. |
Generate parser for all paths.
Parameters: |
|
---|---|
Returns: | str – Python code containing all parsers for paths. |