summaryrefslogtreecommitdiff
path: root/sphinx/util/compat.py
diff options
context:
space:
mode:
Diffstat (limited to 'sphinx/util/compat.py')
-rw-r--r--sphinx/util/compat.py20
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 {