[Zope-Checkins] CVS: Zope2 - ClassicDocumentClass.py:1.16 DocumentClass.py:1.32 HTMLClass.py:1.12 StructuredText.py:1.42

andreas@digicool.com andreas@digicool.com
Thu, 12 Jul 2001 16:04:02 -0400 (EDT)


Update of /cvs-repository/Zope2/lib/python/StructuredText
In directory korak.digicool.com:/tmp/cvs-serv11220/lib/python/StructuredText

Modified Files:
	ClassicDocumentClass.py DocumentClass.py HTMLClass.py 
	StructuredText.py 
Log Message:
Collector # 2397: StructuredText could not handle underlined text
properly. Also <dtml-var stxdoc ftm=structured-text> will no longer
produce <html>..<body>  and </body>..</html>



--- Updated File ClassicDocumentClass.py in package Zope2 --
--- ClassicDocumentClass.py	2001/07/02 19:13:27	1.15
+++ ClassicDocumentClass.py	2001/07/12 20:04:01	1.16
@@ -628,10 +628,13 @@
     
     def doc_underline(self,
                       s,
-                      expr=re.compile("\_([%s0-9\s\.,\?\/]+)\_" % letters).search):
+                      expr=re.compile("_([%s0-9\s\.,\?\/]+)_" % letters).search):
+
+        print s
         
         result = expr(s)
         if result:
+            print "got it"
             start,end = result.span(1)
             st,e = result.span()
             return (StructuredTextUnderline(s[start:end]),st,e)

--- Updated File DocumentClass.py in package Zope2 --
--- DocumentClass.py	2001/07/12 18:37:12	1.31
+++ DocumentClass.py	2001/07/12 20:04:01	1.32
@@ -371,6 +371,7 @@
         'doc_href',
         'doc_strong',
         'doc_emphasize',
+        'doc_underline',
         'doc_literal',
         'doc_sgml',
         'doc_xref',
@@ -924,6 +925,7 @@
                       s,
                       #expr=re.compile(r"\_([a-zA-Z0-9\s\.,\?]+)\_").search, # old expr, inconsistent punc, failed to cross newlines
                       expr=re.compile(r'_([%s%s%s\s]+)_' % (letters, digits, under_punc)).search):
+
         result = expr(s)
         if result:
             if result.group(1)[:1] == '_':

--- Updated File HTMLClass.py in package Zope2 --
--- HTMLClass.py	2001/06/15 05:07:41	1.11
+++ HTMLClass.py	2001/07/12 20:04:01	1.12
@@ -113,11 +113,13 @@
         'StructuredTextSGML':'sgml',
         }
 
+
     def dispatch(self, doc, level, output):
         getattr(self, self.element_types[doc.getNodeName()])(doc, level, output)
         
-    def __call__(self, doc, level=1):
+    def __call__(self, doc, level=1, header=1):
         r=[]
+        self.header = header
         self.dispatch(doc, level-1, r.append)
         return join(r,'')
 
@@ -125,17 +127,22 @@
         output(doc.getNodeValue())
 
     def document(self, doc, level, output):
-        output('<html>\n')
         children=doc.getChildNodes()
-        if (children and
-             children[0].getNodeName() == 'StructuredTextSection'):
-            output('<head>\n<title>%s</title>\n</head>\n' %
-                     children[0].getChildNodes()[0].getNodeValue())
-        output('<body>\n')
+
+        if self.header==1:
+            output('<html>\n')
+            if (children and
+                 children[0].getNodeName() == 'StructuredTextSection'):
+                output('<head>\n<title>%s</title>\n</head>\n' %
+                         children[0].getChildNodes()[0].getNodeValue())
+            output('<body>\n')
+
         for c in children:
             getattr(self, self.element_types[c.getNodeName()])(c, level, output)
-        output('</body>\n')
-        output('</html>\n')
+
+        if self.header==1:
+            output('</body>\n')
+            output('</html>\n')
 
     def section(self, doc, level, output):
         children=doc.getChildNodes()

--- Updated File StructuredText.py in package Zope2 --
--- StructuredText.py	2001/07/06 18:13:38	1.41
+++ StructuredText.py	2001/07/12 20:04:01	1.42
@@ -96,15 +96,15 @@
 Document = DocumentClass.DocumentClass()
 HTMLNG = HTMLClass.HTMLClass()
 
-def HTML(aStructuredString, level=0):
+def HTML(aStructuredString, level=0, header=1):
     st = Basic(aStructuredString)
     doc = Document(st)
-    return HTMLNG(doc)
+    return HTMLNG(doc,header=header)
 
 def StructuredText(aStructuredString, level=0):
     return HTML(aStructuredString,level)
 
-def html_with_references(text, level=1):
+def html_with_references(text, level=1, header=1):
     text = re.sub(
         r'[\000\n]\.\. \[([0-9_%s-]+)\]' % letters,
         r'\n  <a name="\1">[\1]</a>',
@@ -120,7 +120,7 @@
         r'\1<a href="\2.html">[\2]</a>\3',
         text)
 
-    return HTML(text,level=level)
+    return HTML(text,level=level,header=header)
 
 def html_quote(v,
                character_entities=(