Merge pull request #6463 from tk0miya/refactor_util_docutils

refactor: correct interface of directive() and role() to docutils'
This commit is contained in:
Takeshi KOMIYA 2019-06-09 14:14:15 +09:00 committed by GitHub
commit d9d0e49ea9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 10 additions and 10 deletions

View File

@ -17,7 +17,7 @@ from copy import copy
from distutils.version import LooseVersion from distutils.version import LooseVersion
from os import path from os import path
from types import ModuleType from types import ModuleType
from typing import Any, Callable, Dict, Generator, IO, List, Set, Tuple, Type from typing import Any, Callable, Dict, Generator, IO, List, Optional, Set, Tuple, Type
from typing import cast from typing import cast
import docutils import docutils
@ -194,8 +194,8 @@ class sphinx_domains:
self.directive_func = directives.directive self.directive_func = directives.directive
self.role_func = roles.role self.role_func = roles.role
directives.directive = self.lookup_directive # type: ignore directives.directive = self.lookup_directive
roles.role = self.lookup_role # type: ignore roles.role = self.lookup_role
def disable(self) -> None: def disable(self) -> None:
directives.directive = self.directive_func directives.directive = self.directive_func
@ -229,17 +229,17 @@ class sphinx_domains:
raise ElementLookupError raise ElementLookupError
def lookup_directive(self, name: str, lang_module: ModuleType, document: nodes.document) -> Tuple[Type[Directive], List[system_message]]: # NOQA def lookup_directive(self, directive_name: str, language_module: ModuleType, document: nodes.document) -> Tuple[Optional[Type[Directive]], List[system_message]]: # NOQA
try: try:
return self.lookup_domain_element('directive', name) return self.lookup_domain_element('directive', directive_name)
except ElementLookupError: except ElementLookupError:
return self.directive_func(name, lang_module, document) return self.directive_func(directive_name, language_module, document)
def lookup_role(self, name: str, lang_module: ModuleType, lineno: int, reporter: Reporter) -> Tuple[RoleFunction, List[system_message]]: # NOQA def lookup_role(self, role_name: str, language_module: ModuleType, lineno: int, reporter: Reporter) -> Tuple[RoleFunction, List[system_message]]: # NOQA
try: try:
return self.lookup_domain_element('role', name) return self.lookup_domain_element('role', role_name)
except ElementLookupError: except ElementLookupError:
return self.role_func(name, lang_module, lineno, reporter) return self.role_func(role_name, language_module, lineno, reporter)
class WarningStream: class WarningStream:

View File

@ -27,7 +27,7 @@ NoneType = type(None)
PathMatcher = Callable[[str], bool] PathMatcher = Callable[[str], bool]
# common role functions # common role functions
RoleFunction = Callable[[str, str, str, int, Inliner, Dict, List[str]], RoleFunction = Callable[[str, str, str, int, Inliner, Dict[str, Any], List[str]],
Tuple[List[nodes.Node], List[nodes.system_message]]] Tuple[List[nodes.Node], List[nodes.system_message]]]
# title getter functions for enumerable nodes (see sphinx.domains.std) # title getter functions for enumerable nodes (see sphinx.domains.std)