[Python-checkins] cpython: Issue #18716: Deprecate the formatter module
brett.cannon
python-checkins at python.org
Fri Oct 4 17:39:10 CEST 2013
http://hg.python.org/cpython/rev/04ff1cc40d62
changeset: 85958:04ff1cc40d62
parent: 85956:989ea05b2500
user: Brett Cannon <brett at python.org>
date: Fri Oct 04 11:38:59 2013 -0400
summary:
Issue #18716: Deprecate the formatter module
files:
Doc/library/formatter.rst | 4 ++++
Doc/whatsnew/3.4.rst | 9 ++++++---
Lib/formatter.py | 3 +++
Lib/pydoc.py | 9 ++++-----
Misc/NEWS | 2 ++
5 files changed, 19 insertions(+), 8 deletions(-)
diff --git a/Doc/library/formatter.rst b/Doc/library/formatter.rst
--- 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
--- a/Doc/whatsnew/3.4.rst
+++ b/Doc/whatsnew/3.4.rst
@@ -516,6 +516,9 @@
* 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 @@
* 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
--- a/Lib/formatter.py
+++ b/Lib/formatter.py
@@ -19,6 +19,9 @@
"""
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
--- a/Lib/pydoc.py
+++ b/Lib/pydoc.py
@@ -1915,11 +1915,10 @@
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).
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -21,6 +21,8 @@
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
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list