diff options
Diffstat (limited to 'sphinx/util/compat.py')
-rw-r--r-- | sphinx/util/compat.py | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/sphinx/util/compat.py b/sphinx/util/compat.py index e01558077..43ced1f5e 100644 --- a/sphinx/util/compat.py +++ b/sphinx/util/compat.py @@ -8,15 +8,34 @@ :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS. :license: BSD, see LICENSE for details. """ + from __future__ import absolute_import import sys +import warnings + +from six import string_types, iteritems +from sphinx.deprecation import RemovedInSphinx30Warning +from sphinx.util import import_object if False: # For type annotation from typing import Any, Dict # NOQA from sphinx.application import Sphinx # NOQA + from sphinx.config import Config # NOQA + + +def deprecate_source_parsers(app, config): + # type: (Sphinx, Config) -> None + if config.source_parsers: + warnings.warn('The config variable "source_parsers" is deprecated. ' + 'Please use app.add_source_parser() API instead.', + RemovedInSphinx30Warning) + for suffix, parser in iteritems(config.source_parsers): + if isinstance(parser, string_types): + parser = import_object(parser, 'source parser') # type: ignore + app.add_source_parser(suffix, parser) def register_application_for_autosummary(app): @@ -35,6 +54,7 @@ def register_application_for_autosummary(app): def setup(app): # type: (Sphinx) -> Dict[unicode, Any] + app.connect('config-inited', deprecate_source_parsers) app.connect('builder-inited', register_application_for_autosummary) return { |