diff --git a/lib/python/reStructuredText/__init__.py b/lib/python/reStructuredText/__init__.py index 4cd958fe42d13f54a0c4ba841ed1aecfb1c9d3bb..7948d4e88a8ac045f23091011499da792b99c998 100644 --- a/lib/python/reStructuredText/__init__.py +++ b/lib/python/reStructuredText/__init__.py @@ -17,9 +17,14 @@ __all__ = ["HTML" ] import docutils.core from docutils.io import StringOutput, StringInput -import sys +import sys, os + +default_input_encoding = os.environ.get("REST_INPUT_ENCODING", sys.getdefaultencoding()) +default_output_encoding = os.environ.get("REST_OUTPUT_ENCODING", sys.getdefaultencoding()) + class Warnings: + def __init__(self): self.messages = [] @@ -28,7 +33,8 @@ class Warnings: def HTML(src, writer='html4zope', report_level=1, stylesheet='default.css', - input_encoding=None, output_encoding=None): + input_encoding=default_input_encoding, + output_encoding=default_output_encoding): """ render HTML from a reStructuredText string - 'src' -- string containing a valid reST document @@ -44,12 +50,6 @@ def HTML(src, writer='html4zope', report_level=1, stylesheet='default.css', 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() @@ -78,6 +78,5 @@ def HTML(src, writer='html4zope', report_level=1, stylesheet='default.css', warnings = ''.join(pub.settings.warning_stream.messages) # do the format - print pub.writer.write(document, pub.destination) return pub.writer.write(document, pub.destination)