class documentation

Process ordered list blocks.

Method __init__ Undocumented
Method get_items Break a block into list items.
Method run Run processor. Must be overridden by subclasses.
Method test Test for block type. Must be overridden by subclasses.
Constant LAZY_OL Undocumented
Constant SIBLING_TAGS Undocumented
Constant STARTSWITH Undocumented
Constant TAG Undocumented
Instance Variable CHILD_RE Undocumented
Instance Variable INDENT_RE Undocumented
Instance Variable RE Undocumented

Inherited from BlockProcessor:

Method detab Remove a tab from the front of each line of the given text.
Method lastChild Return the last child of an etree element.
Method looseDetab Remove a tab from front of lines but allowing dedented lines.
Instance Variable parser Undocumented
Instance Variable tab_length Undocumented
def get_items(self, block): (source)

Break a block into list items.

def run(self, parent, blocks): (source)

Run processor. Must be overridden by subclasses. When the parser determines the appropriate type of a block, the parser will call the corresponding processor's ``run`` method. This method should parse the individual lines of the block and append them to the etree. Note that both the ``parent`` and ``etree`` keywords are pointers to instances of the objects which should be edited in place. Each processor must make changes to the existing objects as there is no mechanism to return new/different objects to replace them. This means that this method should be adding SubElements or adding text to the parent, and should remove (``pop``) or add (``insert``) items to the list of blocks. Keywords: * ``parent``: A etree element which is the parent of the current block. * ``blocks``: A list of all remaining blocks of the document.

def test(self, parent, block): (source)

Test for block type. Must be overridden by subclasses. As the parser loops through processors, it will call the ``test`` method on each to determine if the given block of text is of that type. This method must return a boolean ``True`` or ``False``. The actual method of testing is left to the needs of that particular block type. It could be as simple as ``block.startswith(some_string)`` or a complex regular expression. As the block type may be different depending on the parent of the block (i.e. inside a list), the parent etree element is also provided and may be used as part of the test. Keywords: * ``parent``: A etree element which will be the parent of the block. * ``block``: A block of text from the source which has been split at blank lines.

STARTSWITH = (source)

Undocumented

Value
'1'

Undocumented

Value
'ol'
INDENT_RE = (source)

Undocumented