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

Andreas Jung andreas@andreas-jung.com
Thu, 30 Jan 2003 12:52:21 -0500


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

Modified Files:
      Tag: ajung-restructuredtext-integration-branch
	__init__.py 
Log Message:
using Python's default encoding


=== Zope/lib/python/reStructuredText/__init__.py 1.1.2.7 => 1.1.2.8 ===
--- Zope/lib/python/reStructuredText/__init__.py:1.1.2.7	Sat Jan 25 12:45:42 2003
+++ Zope/lib/python/reStructuredText/__init__.py	Thu Jan 30 12:52:18 2003
@@ -17,6 +17,7 @@
 
 import docutils.core 
 from docutils.io import StringOutput, StringInput 
+import sys
 
 class Warnings:
     def __init__(self):
@@ -26,7 +27,8 @@
         self.messages.append(message)
 
 
-def HTML(src, writer='html4zope', report_level=1, stylesheet='default.css'):
+def HTML(src, writer='html4zope', report_level=1, stylesheet='default.css',
+         input_encoding=None, output_encoding=None):
     """ render HTML from a reStructuredText string 
 
         - 'src'  -- string containing a valid reST document
@@ -42,6 +44,12 @@
     pub.set_reader('standalone', None, 'restructuredtext')
     pub.set_writer(writer)
 
+    if input_encoding is None:
+        input_encoding = sys.getdefaultencoding()
+
+    if output_encoding is None:
+        output_encoding = sys.getdefaultencoding()
+
     # go with the defaults
     pub.get_settings()
 
@@ -60,15 +68,16 @@
     pub.settings.warning_stream = Warnings()
 
     # input
-    pub.source = StringInput(source=src, encoding=pub.settings.input_encoding)
+    pub.source = StringInput(source=src, encoding=input_encoding)
 
     # output - not that it's needed
-    pub.destination = StringOutput(encoding=pub.settings.output_encoding)
+    pub.destination = StringOutput(encoding=output_encoding)
 
     # parse!
     document = pub.reader.read(pub.source, pub.parser, pub.settings)
     warnings = ''.join(pub.settings.warning_stream.messages)
 
     # do the format
+    print pub.writer.write(document, pub.destination)
     return pub.writer.write(document, pub.destination)