summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakeshi KOMIYA <i.tkomiya@gmail.com>2019-01-07 22:38:48 +0900
committerTakeshi KOMIYA <i.tkomiya@gmail.com>2019-02-11 16:41:19 +0900
commitd40ce68c7b2b02603725cf3072262ebcc82b40fe (patch)
tree793ff2f6590cce1c1346eb7f08f7d3073ac3d76c
parent644d5558373d71268d0d8d3af760782a188e1e4c (diff)
downloadsphinx-git-d40ce68c7b2b02603725cf3072262ebcc82b40fe.tar.gz
refactor: Move terminal_safe() to sphinx.util.console
-rw-r--r--CHANGES1
-rw-r--r--doc/extdev/index.rst5
-rw-r--r--sphinx/cmd/build.py3
-rw-r--r--sphinx/util/console.py6
-rw-r--r--sphinx/util/pycompat.py9
5 files changed, 16 insertions, 8 deletions
diff --git a/CHANGES b/CHANGES
index 598db0b6a..b1f4bcd2b 100644
--- a/CHANGES
+++ b/CHANGES
@@ -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)