Skip to content

Commit

Permalink
Merge pull request #6224 from tk0miya/deprecation
Browse files Browse the repository at this point in the history
Show deprecation warnings
  • Loading branch information
tk0miya committed Mar 30, 2019
2 parents 765a92b + d279f58 commit cbefc01
Show file tree
Hide file tree
Showing 5 changed files with 35 additions and 18 deletions.
4 changes: 4 additions & 0 deletions CHANGES
Expand Up @@ -17,6 +17,10 @@ Bugs fixed
----------

* LaTeX: some system labels are not translated
* deprecation warnings are not emitted

- sphinx.application.CONFIG_FILENAME
- :confval:`viewcode_import`

Testing
--------
Expand Down
12 changes: 10 additions & 2 deletions sphinx/application.py
Expand Up @@ -24,9 +24,8 @@
import sphinx
from sphinx import package_dir, locale
from sphinx.config import Config
from sphinx.config import CONFIG_FILENAME # NOQA # for compatibility (RemovedInSphinx30)
from sphinx.deprecation import (
RemovedInSphinx30Warning, RemovedInSphinx40Warning
RemovedInSphinx30Warning, RemovedInSphinx40Warning, deprecated_alias
)
from sphinx.environment import BuildEnvironment
from sphinx.errors import ApplicationError, ConfigError, VersionRequirementError
Expand Down Expand Up @@ -1247,3 +1246,12 @@ def render_string(self, template, context):
specified context (a Python dictionary).
"""
raise NotImplementedError('must be implemented in subclasses')


from sphinx.config import CONFIG_FILENAME # NOQA

deprecated_alias('sphinx.application',
{
'CONFIG_FILENAME': CONFIG_FILENAME,
},
RemovedInSphinx30Warning)
1 change: 1 addition & 0 deletions sphinx/ext/viewcode.py
Expand Up @@ -251,6 +251,7 @@ def setup(app):
app.add_config_value('viewcode_import', None, False)
app.add_config_value('viewcode_enable_epub', False, False)
app.add_config_value('viewcode_follow_imported_members', True, False)
app.connect('config-inited', migrate_viewcode_import)
app.connect('doctree-read', doctree_read)
app.connect('env-merge-info', env_merge_info)
app.connect('html-collect-pages', collect_pages)
Expand Down
22 changes: 13 additions & 9 deletions sphinx/util/osutil.py
Expand Up @@ -21,6 +21,7 @@
from os import path

from sphinx.deprecation import RemovedInSphinx30Warning, RemovedInSphinx40Warning
from sphinx.testing.path import path as Path

if False:
# For type annotation
Expand Down Expand Up @@ -190,15 +191,18 @@ def relpath(path, start=os.curdir):

def abspath(pathdir):
# type: (str) -> str
pathdir = path.abspath(pathdir)
if isinstance(pathdir, bytes):
try:
pathdir = pathdir.decode(fs_encoding)
except UnicodeDecodeError:
raise UnicodeDecodeError('multibyte filename not supported on '
'this filesystem encoding '
'(%r)' % fs_encoding)
return pathdir
if isinstance(pathdir, Path):
return pathdir.abspath()
else:
pathdir = path.abspath(pathdir)
if isinstance(pathdir, bytes):
try:
pathdir = pathdir.decode(fs_encoding)
except UnicodeDecodeError:
raise UnicodeDecodeError('multibyte filename not supported on '
'this filesystem encoding '
'(%r)' % fs_encoding)
return pathdir


def getcwd():
Expand Down
14 changes: 7 additions & 7 deletions tests/test_ext_inheritance_diagram.py
Expand Up @@ -90,7 +90,7 @@ def test_inheritance_diagram_latex_alias(app, status, warning):


def test_import_classes(rootdir):
from sphinx.application import Sphinx, TemplateBridge
from sphinx.parsers import Parser, RSTParser
from sphinx.util.i18n import CatalogInfo

try:
Expand Down Expand Up @@ -120,16 +120,16 @@ def test_import_classes(rootdir):
assert classes == []

# all of classes in the module
classes = import_classes('sphinx.application', None)
assert set(classes) == {Sphinx, TemplateBridge}
classes = import_classes('sphinx.parsers', None)
assert set(classes) == {Parser, RSTParser}

# specified class in the module
classes = import_classes('sphinx.application.Sphinx', None)
assert classes == [Sphinx]
classes = import_classes('sphinx.parsers.Parser', None)
assert classes == [Parser]

# specified class in current module
classes = import_classes('Sphinx', 'sphinx.application')
assert classes == [Sphinx]
classes = import_classes('Parser', 'sphinx.parsers')
assert classes == [Parser]

# relative module name to current module
classes = import_classes('i18n.CatalogInfo', 'sphinx.util')
Expand Down

0 comments on commit cbefc01

Please sign in to comment.