Package docutils :: Package parsers :: Package rst :: Module states :: Class SpecializedBody
[show private | hide private]
[frames | no frames]

Class SpecializedBody

State --+            
        |            
  StateWS --+        
            |        
     RSTState --+    
                |    
             Body --+
                    |
                   SpecializedBody

Known Subclasses:
BulletList, DefinitionList, EnumeratedList, Explicit, FieldList, MetaBody, OptionList, RFC2822List

Superclass for second and subsequent compound element members. Compound elements are lists and list-like constructs.

All transition methods are disabled (redefined as invalid_input). Override individual methods in subclasses to re-enable.

For example, once an initial bullet list item, say, is recognized, the BulletList subclass takes over, with a "bullet_list" node as its container. Upon encountering the initial bullet list item, Body.bullet calls its self.nested_list_parse (RSTState.nested_list_parse), which starts up a nested parsing session with BulletList as the initial state. Only the bullet transition method is enabled in BulletList; as long as only bullet list items are encountered, they are parsed and inserted into the container. The first construct which is not a bullet list item triggers the invalid_input method, which ends the nested parse and closes the container. BulletList needs to recognize input that is invalid in the context of a bullet list, which means everything other than bullet list items, so it inherits the transition list created in Body.


Method Summary
  anonymous(self, match, context, next_state)
Not a compound element member.
  bullet(self, match, context, next_state)
Not a compound element member.
  doctest(self, match, context, next_state)
Not a compound element member.
  enumerator(self, match, context, next_state)
Not a compound element member.
  explicit_markup(self, match, context, next_state)
Not a compound element member.
  field_marker(self, match, context, next_state)
Not a compound element member.
  grid_table_top(self, match, context, next_state)
Not a compound element member.
  indent(self, match, context, next_state)
Not a compound element member.
  invalid_input(self, match, context, next_state)
Not a compound element member.
  line(self, match, context, next_state)
Not a compound element member.
  option_marker(self, match, context, next_state)
Not a compound element member.
  simple_table_top(self, match, context, next_state)
Not a compound element member.
  text(self, match, context, next_state)
Not a compound element member.
    Inherited from Body
  add_target(self, targetname, refuri, target)
  anonymous_target(self, match)
  block_quote(self, indented, line_offset)
  build_table(self, tabledata, tableline)
  build_table_row(self, rowdata, tableline)
  check_attribution(self, indented, line_offset)
Check for an attribution in the last contiguous block of indented.
  citation(self, match)
  comment(self, match)
  directive(self, match, **option_presets)
  explicit_construct(self, match)
Determine which explicit construct this is, parse & return it.
  explicit_list(self, blank_finish)
Create a nested state machine for a series of explicit markup constructs (including anonymous hyperlink targets).
  field(self, match)
  footnote(self, match)
  hyperlink_target(self, match)
  is_enumerated_list_item(self, ordinal, sequence, format)
Check validity based on the ordinal value and the second line.
  is_reference(self, reference)
  isolate_grid_table(self)
  isolate_simple_table(self)
  list_item(self, indent)
  make_enumerator(self, ordinal, sequence, format)
Construct and return an enumerated list item marker.
  malformed_table(self, block, detail)
  option_list_item(self, match)
  parse_attribution(self, indented, line_offset)
  parse_directive(self, directive_fn, match, type_name, option_presets)
Parse a directive then run its directive function.
  parse_directive_arguments(self, argument_spec, arg_block)
  parse_directive_options(self, option_presets, option_spec, arg_block)
  parse_enumerator(self, match, expected_sequence)
Analyze an enumerator and return the results.
  parse_extension_options(self, option_spec, datalines)
Parse datalines for a field list containing extension options matching option_spec.
  parse_field_body(self, indented, offset, node)
  parse_field_marker(self, match)
Extract & return field name from a field marker match.
  parse_option_marker(self, match)
Return a list of node.option and node.option_argument objects, parsed from an option marker match.
  substitution_def(self, match)
  table(self, isolate_function, parser_class)
Parse a table.
  table_top(self, match, context, next_state, isolate_function, parser_class)
Top border of a generic table.
  unknown_directive(self, type_name)
    Inherited from RSTState
  __init__(self, state_machine, debug)
Initialize a StateSM object; extends State.__init__().
  bof(self, context)
Called at beginning of file.
  check_section(self, section)
Check for illegal structure: empty section, misplaced transitions.
  check_subsection(self, source, style, lineno)
Check for a valid subsection header.
  goto_line(self, abs_line_offset)
Jump to input line abs_line_offset, ignoring jumps past the end.
  inline_text(self, text, lineno)
Return 2 lists: nodes (text and inline elements), and system_messages.
  nested_list_parse(self, block, input_offset, node, initial_state, blank_finish, blank_finish_state, extra_settings, match_titles, state_machine_class, state_machine_kwargs)
Create a new StateMachine rooted at node and run it over the input block.
  nested_parse(self, block, input_offset, node, match_titles, state_machine_class, state_machine_kwargs)
Create a new StateMachine rooted at node and run it over the input block.
  new_subsection(self, title, lineno, messages)
Append new subsection to document tree.
  no_match(self, context, transitions)
Override StateWS.no_match to generate a system message.
  paragraph(self, lines, lineno)
Return a list (paragraph & messages) & a boolean: literal_block next?
  runtime_init(self)
Initialize this State before running the state machine; called from self.state_machine.run().
  section(self, title, source, style, lineno, messages)
Check for a valid subsection and create one if it checks out.
  title_inconsistent(self, sourcetext, lineno)
  unindent_warning(self, node_name)
    Inherited from StateWS
  add_initial_transitions(self)
Add whitespace-specific transitions before those defined in subclass.
  blank(self, match, context, next_state)
Handle blank lines.
  first_known_indent(self, match, context, next_state)
Handle an indented text block (first line's indent known).
  known_indent(self, match, context, next_state)
Handle a known-indent text block.
    Inherited from State
  add_transition(self, name, transition)
Add a transition to the start of the transition list.
  add_transitions(self, names, transitions)
Add a list of transitions to the start of the transition list.
  eof(self, context)
Handle end-of-file.
  make_transition(self, name, next_state)
Make & return a transition tuple based on name.
  make_transitions(self, name_list)
Return a list of transition names and a transition mapping.
  nop(self, match, context, next_state)
A "do nothing" transition method.
  remove_transition(self, name)
Remove a transition by name.
  unlink(self)
Remove circular references to objects no longer required.

Class Variable Summary
    Inherited from Body
SRE_Pattern attribution_pattern = --(?![-\n]) *(?=[^ \n])
Struct enum = <docutils.parsers.rst.states.Struct instance at 0...
Struct explicit = <docutils.parsers.rst.states.Struct instance ...
str format = 'period'
SRE_Pattern grid_table_top_pat = \+-[-\+]+-\+ *$
tuple initial_transitions = ('bullet', 'enumerator', 'field_ma...
dict pats = {'alphanumplus': '[a-zA-Z0-9_-]', 'parens': '(?P<...
dict patterns = {'enumerator': '((?P<parens>\\(([0-9]+|[a-z]|...
str sequence = 'upperroman'
SRE_Pattern simple_table_border_pat = =+[ =]*$
SRE_Pattern simple_table_top_pat = =+( +=+)+ *$
    Inherited from StateWS
NoneType indent_sm = None                                                                  
NoneType indent_sm_kwargs = None                                                                  
NoneType known_indent_sm = None                                                                  
NoneType known_indent_sm_kwargs = None                                                                  
tuple ws_initial_transitions = ('blank', 'indent')
dict ws_patterns = {'indent': ' +', 'blank': ' *$'}
    Inherited from State
NoneType nested_sm = None                                                                  
NoneType nested_sm_kwargs = None                                                                  

Method Details

anonymous(self, match=None, context=None, next_state=None)

Not a compound element member. Abort this state machine.

bullet(self, match=None, context=None, next_state=None)

Not a compound element member. Abort this state machine.

doctest(self, match=None, context=None, next_state=None)

Not a compound element member. Abort this state machine.

enumerator(self, match=None, context=None, next_state=None)

Not a compound element member. Abort this state machine.

explicit_markup(self, match=None, context=None, next_state=None)

Not a compound element member. Abort this state machine.

field_marker(self, match=None, context=None, next_state=None)

Not a compound element member. Abort this state machine.

grid_table_top(self, match=None, context=None, next_state=None)

Not a compound element member. Abort this state machine.

indent(self, match=None, context=None, next_state=None)

Not a compound element member. Abort this state machine.

invalid_input(self, match=None, context=None, next_state=None)

Not a compound element member. Abort this state machine.

line(self, match=None, context=None, next_state=None)

Not a compound element member. Abort this state machine.

option_marker(self, match=None, context=None, next_state=None)

Not a compound element member. Abort this state machine.

simple_table_top(self, match=None, context=None, next_state=None)

Not a compound element member. Abort this state machine.

text(self, match=None, context=None, next_state=None)

Not a compound element member. Abort this state machine.

Generated by Epydoc 2.0 on Tue Jul 22 05:31:51 2003 http://epydoc.sf.net