summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormilde <milde@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2023-04-08 21:08:59 +0000
committermilde <milde@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2023-04-08 21:08:59 +0000
commit3514794f41613e1624affaa99fe1898e3d149f6c (patch)
treeda89a77a87b762e6ac2fa4bdef068826ae792520
parent2eb0cc5aba5d0fafae8b7c00822e6ccb7964714a (diff)
downloaddocutils-3514794f41613e1624affaa99fe1898e3d149f6c.tar.gz
Revert introduction of `core.publish_bytes()` and `io.BytesOutput`.
git-svn-id: https://svn.code.sf.net/p/docutils/code/trunk@9339 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
-rw-r--r--docutils/HISTORY.txt2
-rw-r--r--docutils/docutils/core.py37
-rw-r--r--docutils/docutils/io.py20
-rwxr-xr-xdocutils/test/test_writers/test_docutils_xml.py2
-rwxr-xr-xdocutils/test/test_writers/test_html4css1_misc.py2
-rw-r--r--docutils/test/test_writers/test_html5_polyglot_misc.py2
-rwxr-xr-xdocutils/test/test_writers/test_odt.py2
7 files changed, 4 insertions, 63 deletions
diff --git a/docutils/HISTORY.txt b/docutils/HISTORY.txt
index 46c878fae..aa9fc2a67 100644
--- a/docutils/HISTORY.txt
+++ b/docutils/HISTORY.txt
@@ -23,8 +23,6 @@ Release 0.20b (unpublished)
* docutils/core.py
- - Added new `publish_bytes()` function to explicitly return
- output as binary data in a `bytes` object.
- New argument "auto_encode" for `publish_string()` and
`publish_programmatically()`.
- New functions `rst2…()` for use as "console_scripts" `entry point`_.
diff --git a/docutils/docutils/core.py b/docutils/docutils/core.py
index d9a769557..b430240e4 100644
--- a/docutils/docutils/core.py
+++ b/docutils/docutils/core.py
@@ -474,43 +474,6 @@ def publish_string(source, source_path=None, destination_path=None,
return output
-def publish_bytes(source, source_path=None, destination_path=None,
- reader=None, reader_name='standalone',
- parser=None, parser_name='restructuredtext',
- writer=None, writer_name='pseudoxml',
- settings=None, settings_spec=None,
- settings_overrides=None, config_section=None,
- enable_exit_status=False):
- """
- Set up & run a `Publisher` for programmatic use with string I/O. Return
- the encoded bytes.
-
- Be sure to set the 'output_encoding' setting to the desired encoding.::
-
- publish_bytes(..., settings_overrides={'output_encoding': 'latin1'})
-
- Similarly for bytes input (`source`)::
-
- publish_bytes(..., settings_overrides={'input_encoding': 'latin1'})
-
- Parameters: see `publish_programmatically()`.
-
- Provisional.
- """
- output, publisher = publish_programmatically(
- source_class=io.StringInput, source=source, source_path=source_path,
- destination_class=io.BytesOutput,
- destination=None, destination_path=destination_path,
- reader=reader, reader_name=reader_name,
- parser=parser, parser_name=parser_name,
- writer=writer, writer_name=writer_name,
- settings=settings, settings_spec=settings_spec,
- settings_overrides=settings_overrides,
- config_section=config_section,
- enable_exit_status=enable_exit_status)
- return output
-
-
def publish_parts(source, source_path=None, source_class=io.StringInput,
destination_path=None,
reader=None, reader_name='standalone',
diff --git a/docutils/docutils/io.py b/docutils/docutils/io.py
index 68fde9ae0..2162db2b3 100644
--- a/docutils/docutils/io.py
+++ b/docutils/docutils/io.py
@@ -629,26 +629,6 @@ class BinaryFileOutput(FileOutput):
mode = 'wb'
-class BytesOutput(Output):
-
- """
- Direct binary output.
- Provisional.
- """
-
- default_destination_path = '<bytes>'
-
- def write(self, data):
- """Encode `data`, store it in `self.destination`, and return it."""
- self.destination = self.encode(data)
- return self.destination
-
- def encode(self, data):
- if isinstance(data, bytes):
- return data
- return str(data).encode(self.encoding, self.error_handler)
-
-
class StringInput(Input):
"""Input from a `str` or `bytes` instance."""
diff --git a/docutils/test/test_writers/test_docutils_xml.py b/docutils/test/test_writers/test_docutils_xml.py
index 934b6b926..7a6fd9fae 100755
--- a/docutils/test/test_writers/test_docutils_xml.py
+++ b/docutils/test/test_writers/test_docutils_xml.py
@@ -121,7 +121,7 @@ invalid_raw_xml = """\
def publish_xml(settings, source):
- return docutils.core.publish_bytes(source=source.encode('utf-8'),
+ return docutils.core.publish_string(source=source.encode('utf-8'),
reader_name='standalone',
writer_name='docutils_xml',
settings_overrides=settings)
diff --git a/docutils/test/test_writers/test_html4css1_misc.py b/docutils/test/test_writers/test_html4css1_misc.py
index 9c0e31d23..9127d5972 100755
--- a/docutils/test/test_writers/test_html4css1_misc.py
+++ b/docutils/test/test_writers/test_html4css1_misc.py
@@ -33,7 +33,7 @@ class EncodingTestCase(unittest.TestCase):
'stylesheet': '',
'_disable_config': True,
}
- result = core.publish_bytes(
+ result = core.publish_string(
'EUR = \u20ac', writer_name='html4css1',
settings_overrides=settings_overrides)
# Encoding a euro sign with latin1 doesn't work, so the
diff --git a/docutils/test/test_writers/test_html5_polyglot_misc.py b/docutils/test/test_writers/test_html5_polyglot_misc.py
index 1ac4a4854..9924a3c22 100644
--- a/docutils/test/test_writers/test_html5_polyglot_misc.py
+++ b/docutils/test/test_writers/test_html5_polyglot_misc.py
@@ -39,7 +39,7 @@ class EncodingTestCase(unittest.TestCase):
'output_encoding': 'latin1',
'stylesheet': '',
'_disable_config': True}
- result = core.publish_bytes(
+ result = core.publish_string(
'EUR = \u20ac', writer_name='html5_polyglot',
settings_overrides=settings_overrides)
# Encoding a euro sign with latin1 doesn't work, so the
diff --git a/docutils/test/test_writers/test_odt.py b/docutils/test/test_writers/test_odt.py
index e582f6977..8d3472a91 100755
--- a/docutils/test/test_writers/test_odt.py
+++ b/docutils/test/test_writers/test_odt.py
@@ -73,7 +73,7 @@ class DocutilsOdtTestCase(unittest.TestCase):
settings_overrides['_disable_config'] = True
settings_overrides['language_code'] = 'en-US'
- result = docutils.core.publish_bytes(
+ result = docutils.core.publish_string(
source=input,
reader_name='standalone',
writer_name='odf_odt',