[Zope-Checkins] CVS: Zope/lib/python/reStructuredText - __init__.py:1.1.2.7

Andreas Jung andreas@andreas-jung.com
Sat, 25 Jan 2003 12:45:44 -0500


Update of /cvs-repository/Zope/lib/python/reStructuredText
In directory cvs.zope.org:/tmp/cvs-serv482

Modified Files:
      Tag: ajung-restructuredtext-integration-branch
	__init__.py 
Log Message:
adopted to changed docutils API


=== Zope/lib/python/reStructuredText/__init__.py 1.1.2.6 => 1.1.2.7 ===
--- Zope/lib/python/reStructuredText/__init__.py:1.1.2.6	Mon Nov 18 12:13:20 2002
+++ Zope/lib/python/reStructuredText/__init__.py	Sat Jan 25 12:45:42 2003
@@ -15,7 +15,8 @@
 
 __all__ = ["HTML" ]
 
-import docutils.core, docutils.io
+import docutils.core 
+from docutils.io import StringOutput, StringInput 
 
 class Warnings:
     def __init__(self):
@@ -25,7 +26,7 @@
         self.messages.append(message)
 
 
-def HTML(src, writer='html4zope', report_level=1):
+def HTML(src, writer='html4zope', report_level=1, stylesheet='default.css'):
     """ render HTML from a reStructuredText string 
 
         - 'src'  -- string containing a valid reST document
@@ -33,16 +34,18 @@
         - 'writer' -- docutils writer 
 
         - 'report_level' - verbosity of reST parser
+
+        - 'stylesheet' - Stylesheet to be used
     """
 
     pub = docutils.core.Publisher()
-    pub.set_reader('restructuredtext', None, 'restructuredtext')
+    pub.set_reader('standalone', None, 'restructuredtext')
     pub.set_writer(writer)
 
     # go with the defaults
     pub.get_settings()
 
-    pub.settings.stylesheet = "default.css"
+    pub.settings.stylesheet = stylesheet
 
     # this is needed, but doesn't seem to do anything
     pub.settings._destination = ''
@@ -57,11 +60,10 @@
     pub.settings.warning_stream = Warnings()
 
     # input
-    pub.source = docutils.io.StringInput(pub.settings)
-    pub.source.source = src
+    pub.source = StringInput(source=src, encoding=pub.settings.input_encoding)
 
     # output - not that it's needed
-    pub.destination = docutils.io.StringOutput(pub.settings)
+    pub.destination = StringOutput(encoding=pub.settings.output_encoding)
 
     # parse!
     document = pub.reader.read(pub.source, pub.parser, pub.settings)