Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/sphinx-doc/sphinx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakeshi KOMIYA <i.tkomiya@gmail.com>2018-01-27 16:07:27 +0300
committerTakeshi KOMIYA <i.tkomiya@gmail.com>2018-01-31 14:41:31 +0300
commitf49a7c90242ba877685c177afc39431fb72ebc3a (patch)
treee90e1cf4c1892cb8b2ea403aa32bda20359976f5 /sphinx/extension.py
parent4647fcee456378c5001fe5ccbe7bff71fb799bf7 (diff)
Reimplement needs_extensions checker as a config-init handler
Diffstat (limited to 'sphinx/extension.py')
-rw-r--r--sphinx/extension.py22
1 files changed, 17 insertions, 5 deletions
diff --git a/sphinx/extension.py b/sphinx/extension.py
index 98d35b5af..c1e4a860a 100644
--- a/sphinx/extension.py
+++ b/sphinx/extension.py
@@ -17,8 +17,9 @@ from sphinx.util import logging
if False:
# For type annotation
- from typing import Dict # NOQA
+ from typing import Any, Dict # NOQA
from sphinx.application import Sphinx # NOQA
+ from sphinx.config import Config # NOQA
logger = logging.getLogger(__name__)
@@ -41,13 +42,13 @@ class Extension(object):
self.parallel_write_safe = kwargs.pop('parallel_write_safe', True)
-def verify_required_extensions(app, requirements):
- # type: (Sphinx, Dict[unicode, unicode]) -> None
+def verify_needs_extensions(app, config):
+ # type: (Sphinx, Config) -> None
"""Verify the required Sphinx extensions are loaded."""
- if requirements is None:
+ if config.needs_extensions is None:
return
- for extname, reqversion in iteritems(requirements):
+ for extname, reqversion in iteritems(config.needs_extensions):
extension = app.extensions.get(extname)
if extension is None:
logger.warning(__('The %s extension is required by needs_extensions settings,'
@@ -59,3 +60,14 @@ def verify_required_extensions(app, requirements):
'version %s and therefore cannot be built with '
'the loaded version (%s).') %
(extname, reqversion, extension.version))
+
+
+def setup(app):
+ # type: (Sphinx) -> Dict[unicode, Any]
+ app.connect('config-inited', verify_needs_extensions)
+
+ return {
+ 'version': 'builtin',
+ 'parallel_read_safe': True,
+ 'parallel_write_safe': True,
+ }