diff options
author | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2020-10-06 00:48:37 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-06 00:48:37 +0900 |
commit | ca87e47b7dbdcf2991cf9c396db548ae668cac31 (patch) | |
tree | b22e0683a7e749f1e54bc97f7c8900f65f49467c | |
parent | dd7c50f366035dbec138d3922296109e79bffa03 (diff) | |
parent | 129e09c6e3c591e1376c164672220ced3f3cee12 (diff) | |
download | sphinx-git-ca87e47b7dbdcf2991cf9c396db548ae668cac31.tar.gz |
Merge pull request #8280 from tk0miya/refactor_add_source_parser
refactor: Change signature of app.add_source_parser()
-rw-r--r-- | sphinx/application.py | 5 | ||||
-rw-r--r-- | sphinx/registry.py | 4 |
2 files changed, 5 insertions, 4 deletions
diff --git a/sphinx/application.py b/sphinx/application.py index daab09058..4a3db25e7 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 @@ -1118,7 +1119,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. If *override* is True, the given *parser* is forcedly installed even if @@ -1131,7 +1132,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: |