diff options
author | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2019-01-07 22:38:48 +0900 |
---|---|---|
committer | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2019-02-11 16:41:19 +0900 |
commit | d40ce68c7b2b02603725cf3072262ebcc82b40fe (patch) | |
tree | 793ff2f6590cce1c1346eb7f08f7d3073ac3d76c | |
parent | 644d5558373d71268d0d8d3af760782a188e1e4c (diff) | |
download | sphinx-git-d40ce68c7b2b02603725cf3072262ebcc82b40fe.tar.gz |
refactor: Move terminal_safe() to sphinx.util.console
-rw-r--r-- | CHANGES | 1 | ||||
-rw-r--r-- | doc/extdev/index.rst | 5 | ||||
-rw-r--r-- | sphinx/cmd/build.py | 3 | ||||
-rw-r--r-- | sphinx/util/console.py | 6 | ||||
-rw-r--r-- | sphinx/util/pycompat.py | 9 |
5 files changed, 16 insertions, 8 deletions
@@ -124,6 +124,7 @@ Deprecated * ``sphinx.util.pycompat.UnicodeMixin`` * ``sphinx.util.pycompat.htmlescape`` * ``sphinx.util.pycompat.indent`` +* ``sphinx.util.pycompat.terminal_safe()`` * ``sphinx.util.pycompat.u`` * ``sphinx.writers.latex.ExtBabel`` * ``sphinx.writers.latex.LaTeXTranslator._make_visit_admonition()`` diff --git a/doc/extdev/index.rst b/doc/extdev/index.rst index 95564936c..719fb3e66 100644 --- a/doc/extdev/index.rst +++ b/doc/extdev/index.rst @@ -440,6 +440,11 @@ The following is a list of deprecated interfaces. - 4.0 - ``textwrap.indent()`` + * - ``sphinx.util.pycompat.terminal_safe()`` + - 2.0 + - 4.0 + - ``sphinx.util.console.terminal_safe()`` + * - ``sphinx.util.pycompat.u`` - 2.0 - 4.0 diff --git a/sphinx/cmd/build.py b/sphinx/cmd/build.py index 1d4674b9e..6fd954296 100644 --- a/sphinx/cmd/build.py +++ b/sphinx/cmd/build.py @@ -23,9 +23,8 @@ from sphinx.application import Sphinx from sphinx.errors import SphinxError from sphinx.locale import __ from sphinx.util import Tee, format_exception_cut_frames, save_traceback -from sphinx.util.console import red, nocolor, color_terminal # type: ignore +from sphinx.util.console import red, nocolor, color_terminal, terminal_safe # type: ignore from sphinx.util.docutils import docutils_namespace, patch_docutils -from sphinx.util.pycompat import terminal_safe if False: # For type annotation diff --git a/sphinx/util/console.py b/sphinx/util/console.py index b419e1284..c207d32ac 100644 --- a/sphinx/util/console.py +++ b/sphinx/util/console.py @@ -27,6 +27,12 @@ _ansi_re = re.compile('\x1b\\[(\\d\\d;){0,2}\\d\\dm') codes = {} # type: Dict[str, str] +def terminal_safe(s): + # type: (str) -> str + """safely encode a string for printing to the terminal.""" + return s.encode('ascii', 'backslashreplace').decode('ascii') + + def get_terminal_width(): # type: () -> int """Borrowed from the py lib.""" diff --git a/sphinx/util/pycompat.py b/sphinx/util/pycompat.py index 5f02bd979..51697432e 100644 --- a/sphinx/util/pycompat.py +++ b/sphinx/util/pycompat.py @@ -17,6 +17,8 @@ import warnings from sphinx.deprecation import RemovedInSphinx40Warning, deprecated_alias from sphinx.locale import __ from sphinx.util import logging +from sphinx.util.console import terminal_safe + if False: # For type annotation @@ -36,12 +38,6 @@ NoneType = type(None) sys_encoding = sys.getdefaultencoding() -# terminal_safe(): safely encode a string for printing to the terminal -def terminal_safe(s): - # type: (str) -> str - return s.encode('ascii', 'backslashreplace').decode('ascii') - - # convert_with_2to3(): # support for running 2to3 over config files def convert_with_2to3(filepath): @@ -102,6 +98,7 @@ deprecated_alias('sphinx.util.pycompat', 'TextIOWrapper': io.TextIOWrapper, 'htmlescape': html.escape, 'indent': textwrap.indent, + 'terminal_safe': terminal_safe, 'u': '', }, RemovedInSphinx40Warning) |