Issue #18716: Deprecate the formatter module

This commit is contained in:
Brett Cannon 2013-10-04 11:38:59 -04:00
parent cc5d49e3da
commit 1448ecf470
5 changed files with 19 additions and 8 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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).

View File

@ -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