Thread: [Docstring-checkins] CVS: dps/dps nodes.py,1.26,1.27
Status: Pre-Alpha
Brought to you by:
goodger
From: David G. <go...@us...> - 2002-02-12 02:21:23
|
Update of /cvsroot/docstring/dps/dps In directory usw-pr-cvs1:/tmp/cvs-serv31850/dps/dps Modified Files: nodes.py Log Message: Renamed node categories; added ``NodeVisitor.unknown_visit()``. Index: nodes.py =================================================================== RCS file: /cvsroot/docstring/dps/dps/nodes.py,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** nodes.py 6 Feb 2002 02:44:42 -0000 1.26 --- nodes.py 12 Feb 2002 02:21:18 -0000 1.27 *************** *** 44,48 **** """ Traverse a tree of `Node` objects, calling ``visit_*`` methods of ! `visitor`. Doesn't handle arbitrary modification in-place during the traversal. --- 44,49 ---- """ Traverse a tree of `Node` objects, calling ``visit_*`` methods of ! `visitor`. If there is no ``visit_particular_node`` method for a node ! of type ``particular_node``, the ``unknown_visit`` method is called. Doesn't handle arbitrary modification in-place during the traversal. *************** *** 52,56 **** ``visit_...`` method for each `Node` subclass encountered. """ ! method = getattr(visitor, 'visit_' + self.__class__.__name__) method(self) children = self.getchildren() --- 53,58 ---- ``visit_...`` method for each `Node` subclass encountered. """ ! method = getattr(visitor, 'visit_' + self.__class__.__name__, ! visitor.unknown_visit) method(self) children = self.getchildren() *************** *** 395,402 **** class Root: pass ! class Title: pass class Bibliographic: pass class Structural: pass --- 397,410 ---- class Root: pass ! class Titular: pass class Bibliographic: pass + + class PreBibliographic: + """Category of Node which may occur before Bibliographic Nodes.""" + pass + + class Structural: pass *************** *** 405,413 **** class General(Body): pass ! class List(Body): pass class Admonition(Body): pass ! class Special(Body): pass class Component: pass --- 413,425 ---- class General(Body): pass ! class Sequential(Body): pass class Admonition(Body): pass ! ! class Special(Body): ! """Special internal body elements, not true document components.""" ! pass ! class Component: pass *************** *** 416,420 **** ! class Reference(ToBeResolved): refnode = None --- 428,432 ---- ! class Referential(ToBeResolved): refnode = None *************** *** 586,591 **** # ================ ! class title(Title, TextElement): pass ! class subtitle(Title, TextElement): pass --- 598,603 ---- # ================ ! class title(Titular, PreBibliographic, TextElement): pass ! class subtitle(Titular, PreBibliographic, TextElement): pass *************** *** 620,637 **** class paragraph(General, TextElement): pass ! class bullet_list(List, Element): pass ! class enumerated_list(List, Element): pass class list_item(Component, Element): pass ! class definition_list(List, Element): pass class definition_list_item(Component, Element): pass class term(Component, TextElement): pass class classifier(Component, TextElement): pass class definition(Component, Element): pass ! class field_list(List, Element): pass class field(Component, Element): pass class field_name(Component, TextElement): pass class field_argument(Component, TextElement): pass class field_body(Component, Element): pass ! class option_list(List, Element): pass class option_list_item(Component, Element): pass class option(Component, Element): pass --- 632,649 ---- class paragraph(General, TextElement): pass ! class bullet_list(Sequential, Element): pass ! class enumerated_list(Sequential, Element): pass class list_item(Component, Element): pass ! class definition_list(Sequential, Element): pass class definition_list_item(Component, Element): pass class term(Component, TextElement): pass class classifier(Component, TextElement): pass class definition(Component, Element): pass ! class field_list(Sequential, Element): pass class field(Component, Element): pass class field_name(Component, TextElement): pass class field_argument(Component, TextElement): pass class field_body(Component, Element): pass ! class option_list(Sequential, Element): pass class option_list_item(Component, Element): pass class option(Component, Element): pass *************** *** 653,657 **** class hint(Admonition, Element): pass class warning(Admonition, Element): pass ! class comment(Special, TextElement): pass class substitution_definition(Special, TextElement): pass class target(Special, Inline, TextElement, ToBeResolved): pass --- 665,669 ---- class hint(Admonition, Element): pass class warning(Admonition, Element): pass ! class comment(Special, PreBibliographic, TextElement): pass class substitution_definition(Special, TextElement): pass class target(Special, Inline, TextElement, ToBeResolved): pass *************** *** 670,678 **** ! class system_warning(Special, Element): def __init__(self, comment=None, *children, **attributes): - #print ('nodes.system_warning.__init__: comment=%r, children=%r, ' - # 'attributes=%r' % (comment, children, attributes)) if comment: p = paragraph('', comment) --- 682,688 ---- ! class system_warning(Special, PreBibliographic, Element): def __init__(self, comment=None, *children, **attributes): if comment: p = paragraph('', comment) *************** *** 691,699 **** class emphasis(Inline, TextElement): pass class strong(Inline, TextElement): pass ! class interpreted(Inline, Reference, TextElement): pass class literal(Inline, TextElement): pass ! class reference(Inline, Reference, TextElement): pass ! class footnote_reference(Inline, Reference, TextElement): pass ! class substitution_reference(Inline, Reference, TextElement): pass class image(General, Inline, TextElement): pass class problematic(Inline, TextElement): pass --- 701,709 ---- class emphasis(Inline, TextElement): pass class strong(Inline, TextElement): pass ! class interpreted(Inline, Referential, TextElement): pass class literal(Inline, TextElement): pass ! class reference(Inline, Referential, TextElement): pass ! class footnote_reference(Inline, Referential, TextElement): pass ! class substitution_reference(Inline, Referential, TextElement): pass class image(General, Inline, TextElement): pass class problematic(Inline, TextElement): pass *************** *** 748,751 **** --- 758,765 ---- self.doctree = doctree + def unknown_visit(self, node): + """Called for unknown `Node` types. Does nothing unless overridden.""" + pass + # Save typing with dynamic definitions. for name in node_class_names: *************** *** 765,768 **** --- 779,784 ---- Define semi-generic visitors by overriding individual ``visit_*()`` methods also. + + `NodeVisitor.unknown_visit()` should be overridden for default behavior. """ |