diff options
-rw-r--r-- | Doc/library/formatter.rst | 4 | ||||
-rw-r--r-- | Doc/whatsnew/3.4.rst | 9 | ||||
-rw-r--r-- | Lib/formatter.py | 3 | ||||
-rwxr-xr-x | Lib/pydoc.py | 9 | ||||
-rw-r--r-- | Misc/NEWS | 2 |
5 files changed, 19 insertions, 8 deletions
diff --git a/Doc/library/formatter.rst b/Doc/library/formatter.rst index 88be11c..bdc9e7b 100644 --- a/Doc/library/formatter.rst +++ b/Doc/library/formatter.rst @@ -4,6 +4,10 @@ .. module:: formatter :synopsis: Generic output formatter and device interface. +.. deprecated:: 3.4 + Due to lack of usage, the formatter module has been deprecated and is slated + for removal in Python 3.6. + This module supports two interface definitions, each with multiple implementations: The *formatter* interface, and the *writer* interface which is diff --git a/Doc/whatsnew/3.4.rst b/Doc/whatsnew/3.4.rst index 2e3cab5..81c2d87 100644 --- a/Doc/whatsnew/3.4.rst +++ b/Doc/whatsnew/3.4.rst @@ -516,6 +516,9 @@ Deprecated Python modules, functions and methods * The :mod:`imp` module is pending deprecation. To keep compatibility with Python 2/3 code bases, the module's removal is currently not scheduled. +* The :mod:`formatter` module is pending deprecation and is slated for removal + in Python 3.6. + Deprecated functions and types of the C API ------------------------------------------- @@ -554,9 +557,9 @@ that may require changes to your code. * Import now resets relevant attributes (e.g. ``__name__``, ``__loader__``, ``__package__``, ``__file__``, ``__cached__``) unconditionally when reloading. -* Frozen packages no longer set ``__path__`` to a list containg the package name - but an empty list instead. Determing if a module is a package should be done - using ``hasattr(module, '__path__')``. +* Frozen packages no longer set ``__path__`` to a list containing the package + name but an empty list instead. Determing if a module is a package should be + done using ``hasattr(module, '__path__')``. * :c:func:`PyErr_SetImportError` now sets :exc:`TypeError` when its **msg** argument is not set. Previously only ``NULL`` was returned with no exception diff --git a/Lib/formatter.py b/Lib/formatter.py index 60e60f1..d8cca52 100644 --- a/Lib/formatter.py +++ b/Lib/formatter.py @@ -19,6 +19,9 @@ manage and inserting data into the output. """ import sys +import warnings +warnings.warn('the formatter module is deprecated and will be removed in ' + 'Python 3.6', PendingDeprecationWarning) AS_IS = None diff --git a/Lib/pydoc.py b/Lib/pydoc.py index bc64407..174311c 100755 --- a/Lib/pydoc.py +++ b/Lib/pydoc.py @@ -1915,11 +1915,10 @@ module "pydoc_data.topics" could not be found. if more_xrefs: xrefs = (xrefs or '') + ' ' + more_xrefs if xrefs: - import formatter - buffer = io.StringIO() - formatter.DumbWriter(buffer).send_flowing_data( - 'Related help topics: ' + ', '.join(xrefs.split()) + '\n') - self.output.write('\n%s\n' % buffer.getvalue()) + import textwrap + text = 'Related help topics: ' + ', '.join(xrefs.split()) + '\n' + wrapped_text = textwrap.wrap(text, 72) + self.output.write('\n%s\n' % ''.join(wrapped_text)) def _gettopic(self, topic, more_xrefs=''): """Return unbuffered tuple of (topic, xrefs). @@ -21,6 +21,8 @@ Core and Builtins Library ------- +- Issue #18716: Deprecate the formatter module. + - Issue #18037: 2to3 now escapes '\u' and '\U' in native strings. - Issue #17839: base64.decodebytes and base64.encodebytes now accept any |