summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakeshi KOMIYA <i.tkomiya@gmail.com>2020-10-04 14:15:41 +0900
committerTakeshi KOMIYA <i.tkomiya@gmail.com>2020-10-04 14:15:43 +0900
commit129e09c6e3c591e1376c164672220ced3f3cee12 (patch)
treeb9063d6d6674baf5ce2e22584a592640c48d9275
parentd8cb7aa4f668f1bf92458372568e1be110501eb8 (diff)
downloadsphinx-git-129e09c6e3c591e1376c164672220ced3f3cee12.tar.gz
refactor: Change signature of app.add_source_parser()
To make compatible with old versions, app.add_source_parser() have taken two types of arguments. But the compatibility was no longer needed since 3.0. So it would be better to use clearer signature.
-rw-r--r--sphinx/application.py5
-rw-r--r--sphinx/registry.py4
2 files changed, 5 insertions, 4 deletions
diff --git a/sphinx/application.py b/sphinx/application.py
index f91027bf7..1c433107e 100644
--- a/sphinx/application.py
+++ b/sphinx/application.py
@@ -22,6 +22,7 @@ from typing import Any, Callable, Dict, IO, List, Optional, Tuple, Union
from docutils import nodes
from docutils.nodes import Element, TextElement
+from docutils.parsers import Parser
from docutils.parsers.rst import Directive, roles
from docutils.transforms import Transform
from pygments.lexer import Lexer
@@ -1074,7 +1075,7 @@ class Sphinx:
"""
self.registry.add_source_suffix(suffix, filetype, override=override)
- def add_source_parser(self, *args: Any, **kwargs: Any) -> None:
+ def add_source_parser(self, parser: "Type[Parser]", override: bool = False) -> None:
"""Register a parser class.
.. versionadded:: 1.4
@@ -1084,7 +1085,7 @@ class Sphinx:
.. versionchanged:: 1.8
Add *override* keyword.
"""
- self.registry.add_source_parser(*args, **kwargs)
+ self.registry.add_source_parser(parser, override=override)
def add_env_collector(self, collector: "Type[EnvironmentCollector]") -> None:
"""Register an environment collector class.
diff --git a/sphinx/registry.py b/sphinx/registry.py
index 8c468796a..d0c00b85f 100644
--- a/sphinx/registry.py
+++ b/sphinx/registry.py
@@ -259,12 +259,12 @@ class SphinxComponentRegistry:
else:
self.source_suffix[suffix] = filetype
- def add_source_parser(self, parser: "Type[Parser]", **kwargs: Any) -> None:
+ def add_source_parser(self, parser: "Type[Parser]", override: bool = False) -> None:
logger.debug('[app] adding search source_parser: %r', parser)
# create a map from filetype to parser
for filetype in parser.supported:
- if filetype in self.source_parsers and not kwargs.get('override'):
+ if filetype in self.source_parsers and not override:
raise ExtensionError(__('source_parser for %r is already registered') %
filetype)
else: