diff options
Diffstat (limited to 'sphinx/util/compat.py')
-rw-r--r-- | sphinx/util/compat.py | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/sphinx/util/compat.py b/sphinx/util/compat.py new file mode 100644 index 000000000..f25e43315 --- /dev/null +++ b/sphinx/util/compat.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +""" + sphinx.util.compat + ~~~~~~~~~~~~~~~~~~ + + modules for backward compatibility + + :copyright: Copyright 2007-2018 by the Sphinx team, see AUTHORS. + :license: BSD, see LICENSE for details. +""" + +import sys + + +if False: + # For type annotation + from typing import Any, Dict # NOQA + from sphinx.application import Sphinx # NOQA + + +def register_application_for_autosummary(app): + # type: (Sphinx) -> None + """Register application object to autosummary module. + + Since Sphinx-1.7, documenters and attrgetters are registered into + applicaiton object. As a result, the arguments of + ``get_documenter()`` has been changed. To keep compatibility, + this handler registers application object to the module. + """ + if 'sphinx.ext.autosummary' in sys.modules: + from sphinx.ext import autosummary + autosummary._app = app + + +def setup(app): + # type: (Sphinx) -> Dict[unicode, Any] + app.connect('builder-inited', register_application_for_autosummary) + + return { + 'version': 'builtin', + 'parallel_read_safe': True, + 'parallel_write_safe': True, + } |