[Checkins] SVN: zope.structuredtext/trunk/src/zope/structuredtext/docbook.py Add docstrings; wrap long lines.

Tres Seaver tseaver at palladion.com
Fri Apr 30 18:10:14 EDT 2010


Log message for revision 111778:
  Add docstrings; wrap long lines.

Changed:
  U   zope.structuredtext/trunk/src/zope/structuredtext/docbook.py

-=-
Modified: zope.structuredtext/trunk/src/zope/structuredtext/docbook.py
===================================================================
--- zope.structuredtext/trunk/src/zope/structuredtext/docbook.py	2010-04-30 22:10:13 UTC (rev 111777)
+++ zope.structuredtext/trunk/src/zope/structuredtext/docbook.py	2010-04-30 22:10:13 UTC (rev 111778)
@@ -10,14 +10,14 @@
 # FOR A PARTICULAR PURPOSE
 #
 ##############################################################################
+""" Render STX document as docbook.
 """
-$Id$
-"""
 
 __metaclass__ = type
 
 class DocBook:
-
+    """ Structured text document renderer for Docbook.
+    """
     element_types = {
        '#text': '_text',
        'StructuredTextDocument': 'document',
@@ -39,7 +39,8 @@
        }
 
     def dispatch(self, doc, level, output):
-        getattr(self, self.element_types[doc.getNodeName()])(doc, level, output)
+        getattr(self, self.element_types[doc.getNodeName()]
+               )(doc, level, output)
 
     def __call__(self, doc, level=1):
         r=[]
@@ -58,23 +59,27 @@
         children=doc.getChildNodes()
         if (children and
             children[0].getNodeName() == 'StructuredTextSection'):
-            output('<title>%s</title>' % children[0].getChildNodes()[0].getNodeValue())
+            output('<title>%s</title>'
+                % children[0].getChildNodes()[0].getNodeValue())
         for c in children:
-            getattr(self, self.element_types[c.getNodeName()])(c, level, output)
+            getattr(self, self.element_types[c.getNodeName()]
+                   )(c, level, output)
         output('</book>\n')
 
     def section(self, doc, level, output):
         output('\n<section>\n')
         children=doc.getChildNodes()
         for c in children:
-            getattr(self, self.element_types[c.getNodeName()])(c, level+1, output)
+            getattr(self, self.element_types[c.getNodeName()]
+                   )(c, level+1, output)
         output('\n</section>\n')
 
     def sectionTitle(self, doc, level, output):
         output('<title>')
         for c in doc.getChildNodes():
             try:
-                getattr(self, self.element_types[c.getNodeName()])(c, level, output)
+                getattr(self, self.element_types[c.getNodeName()]
+                       )(c, level, output)
             except:
                 print "failed", c.getNodeName(), c
         output('</title>\n')
@@ -84,7 +89,8 @@
         if p is None or  p.getNodeName() is not doc.getNodeName():
             output('<variablelist>\n')
         for c in doc.getChildNodes():
-            getattr(self, self.element_types[c.getNodeName()])(c, level, output)
+            getattr(self, self.element_types[c.getNodeName()]
+                   )(c, level, output)
         n=doc.getNextSibling()
         if n is None or n.getNodeName() is not doc.getNodeName():
             output('</variablelist>\n')
@@ -92,13 +98,15 @@
     def descriptionTitle(self, doc, level, output):
         output('<varlistentry><term>\n')
         for c in doc.getChildNodes():
-            getattr(self, self.element_types[c.getNodeName()])(c, level, output)
+            getattr(self, self.element_types[c.getNodeName()]
+                   )(c, level, output)
         output('</term>\n')
 
     def descriptionBody(self, doc, level, output):
         output('<listitem><para>\n')
         for c in doc.getChildNodes():
-            getattr(self, self.element_types[c.getNodeName()])(c, level, output)
+            getattr(self, self.element_types[c.getNodeName()]
+                   )(c, level, output)
         output('</para></listitem>\n')
         output('</varlistentry>\n')
 
@@ -109,7 +117,8 @@
         output('<listitem><para>\n')
 
         for c in doc.getChildNodes():
-            getattr(self, self.element_types[c.getNodeName()])(c, level, output)
+            getattr(self, self.element_types[c.getNodeName()]
+                   )(c, level, output)
         n=doc.getNextSibling()
         output('</para></listitem>\n')
         if n is None or n.getNodeName() is not doc.getNodeName():
@@ -121,7 +130,8 @@
             output('<orderedlist>\n')
         output('<listitem><para>\n')
         for c in doc.getChildNodes():
-            getattr(self, self.element_types[c.getNodeName()])(c, level, output)
+            getattr(self, self.element_types[c.getNodeName()]
+                   )(c, level, output)
         n=doc.getNextSibling()
         output('</para></listitem>\n')
         if n is None or n.getNodeName() is not doc.getNodeName():
@@ -151,13 +161,15 @@
     def link(self, doc, level, output):
         output('<ulink url="%s">' % doc.href)
         for c in doc.getChildNodes():
-            getattr(self, self.element_types[c.getNodeName()])(c, level, output)
+            getattr(self, self.element_types[c.getNodeName()]
+                   )(c, level, output)
         output('</ulink>')
 
     def emphasis(self, doc, level, output):
         output('<emphasis>')
         for c in doc.getChildNodes():
-            getattr(self, self.element_types[c.getNodeName()])(c, level, output)
+            getattr(self, self.element_types[c.getNodeName()]
+                   )(c, level, output)
         output('</emphasis> ')
 
     def literal(self, doc, level, output):
@@ -169,7 +181,8 @@
     def strong(self, doc, level, output):
         output('<emphasis>')
         for c in doc.getChildNodes():
-            getattr(self, self.element_types[c.getNodeName()])(c, level, output)
+            getattr(self, self.element_types[c.getNodeName()]
+                   )(c, level, output)
         output('</emphasis>')
 
     def xref(self, doc, level, output):
@@ -202,9 +215,11 @@
         children=doc.getChildNodes()
         if (children and
             children[0].getNodeName() == 'StructuredTextSection'):
-            output('<title>%s</title>' % children[0].getChildNodes()[0].getNodeValue())
+            output('<title>%s</title>'
+                    % children[0].getChildNodes()[0].getNodeValue())
         for c in children[0].getChildNodes()[1:]:
-            getattr(self, self.element_types[c.getNodeName()])(c, level, output)
+            getattr(self, self.element_types[c.getNodeName()]
+                   )(c, level, output)
         output('</chapter>\n')
 
 class DocBookChapterWithFigures(DocBookChapter):
@@ -214,11 +229,10 @@
 
     def image(self, doc, level, output):
         if hasattr(doc, 'key'):
-            output('<figure id="%s"><title>%s</title>\n' % (doc.key, doc.getNodeValue()) )
+            output('<figure id="%s"><title>%s</title>\n'
+                        % (doc.key, doc.getNodeValue()) )
         else:
             output('<figure><title>%s</title>\n' % doc.getNodeValue())
-##        for c in doc.getChildNodes():
-##            getattr(self, self.element_types[c.getNodeName()])(c, level, output)
         output('<graphic fileref="%s"></graphic>\n</figure>\n' % doc.href)
 
 class DocBookArticle(DocBook):
@@ -232,7 +246,8 @@
             output('<articleinfo>\n<title>%s</title>\n</articleinfo>\n' %
                    children[0].getChildNodes()[0].getNodeValue())
         for c in children:
-            getattr(self, self.element_types[c.getNodeName()])(c, level, output)
+            getattr(self, self.element_types[c.getNodeName()]
+                   )(c, level, output)
         output('</article>\n')
 
 
@@ -246,7 +261,8 @@
         self.chapters.append(chapter)
 
     def read(self):
-        out = '<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.1//EN">\n<book>\n'
+        out = ('<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V4.1//EN">\n'
+               '<book>\n')
         out = out + '<title>%s</title>\n' % self.title
         for chapter in self.chapters:
             out = out + chapter + '\n</book>\n'



More information about the checkins mailing list