diff options
author | Jon Dufresne <jon.dufresne@gmail.com> | 2018-11-21 19:15:27 -0800 |
---|---|---|
committer | Jon Dufresne <jon.dufresne@gmail.com> | 2018-11-22 19:05:14 -0800 |
commit | d99e2cae1981940437f073dc07f1420efa2c0bea (patch) | |
tree | e4c572d660e30b2351817ea2c52a4a8a7d134520 /sphinx/util/pycompat.py | |
parent | 318cfadfe0a3aa242ad250f6e3a2af8f8791cb5b (diff) | |
download | sphinx-git-d99e2cae1981940437f073dc07f1420efa2c0bea.tar.gz |
Deprecate evaluating Python 2 syntax in configuration files
Diffstat (limited to 'sphinx/util/pycompat.py')
-rw-r--r-- | sphinx/util/pycompat.py | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/sphinx/util/pycompat.py b/sphinx/util/pycompat.py index 7c2b0dad3..1107427b6 100644 --- a/sphinx/util/pycompat.py +++ b/sphinx/util/pycompat.py @@ -16,11 +16,17 @@ from textwrap import indent # type: ignore # NOQA from six import text_type +from sphinx.locale import __ +from sphinx.util import logging + if False: # For type annotation from typing import Any, Callable, Generator # NOQA +logger = logging.getLogger(__name__) + + NoneType = type(None) # ------------------------------------------------------------------------------ @@ -79,11 +85,14 @@ def execfile_(filepath, _globals, open=open): try: code = compile(source, filepath_enc, 'exec') except SyntaxError: - if convert_with_2to3: - # maybe the file uses 2.x syntax; try to refactor to - # 3.x syntax using 2to3 - source = convert_with_2to3(filepath) - code = compile(source, filepath_enc, 'exec') - else: - raise + # maybe the file uses 2.x syntax; try to refactor to + # 3.x syntax using 2to3 + source = convert_with_2to3(filepath) + code = compile(source, filepath_enc, 'exec') + # TODO: When support for evaluating Python 2 syntax is removed, + # deprecate convert_with_2to3(). + logger.warning(__('Support for evaluating Python 2 syntax is deprecated ' + 'and will be removed in Sphinx 4.0. ' + 'Convert %s to Python 3 syntax.'), + filepath) exec(code, _globals) |