refactor: viewcode: Fix type annotations

This commit is contained in:
Takeshi KOMIYA 2021-01-19 02:50:11 +09:00
parent 40f2c832ff
commit 84150b2106

View File

@ -11,7 +11,7 @@
import posixpath import posixpath
import traceback import traceback
from os import path from os import path
from typing import Any, Dict, Iterable, Iterator, Optional, Set, Tuple, cast from typing import Any, Dict, Generator, Iterable, Optional, Set, Tuple, cast
from docutils import nodes from docutils import nodes
from docutils.nodes import Element, Node from docutils.nodes import Element, Node
@ -32,7 +32,7 @@ logger = logging.getLogger(__name__)
OUTPUT_DIRNAME = '_modules' OUTPUT_DIRNAME = '_modules'
def _get_full_modname(app: Sphinx, modname: str, attribute: str) -> str: def _get_full_modname(app: Sphinx, modname: str, attribute: str) -> Optional[str]:
try: try:
return get_full_modname(modname, attribute) return get_full_modname(modname, attribute)
except AttributeError: except AttributeError:
@ -135,7 +135,7 @@ def env_merge_info(app: Sphinx, env: BuildEnvironment, docnames: Iterable[str],
def missing_reference(app: Sphinx, env: BuildEnvironment, node: Element, contnode: Node def missing_reference(app: Sphinx, env: BuildEnvironment, node: Element, contnode: Node
) -> Node: ) -> Optional[Node]:
# resolve our "viewcode" reference nodes -- they need special treatment # resolve our "viewcode" reference nodes -- they need special treatment
if node['reftype'] == 'viewcode': if node['reftype'] == 'viewcode':
return make_refnode(app.builder, node['refdoc'], node['reftarget'], return make_refnode(app.builder, node['refdoc'], node['reftarget'],
@ -178,7 +178,7 @@ def should_generate_module_page(app: Sphinx, modname: str) -> bool:
return True return True
def collect_pages(app: Sphinx) -> Iterator[Tuple[str, Dict[str, Any], str]]: def collect_pages(app: Sphinx) -> Generator[Tuple[str, Dict[str, Any], str], None, None]:
env = app.builder.env env = app.builder.env
if not hasattr(env, '_viewcode_modules'): if not hasattr(env, '_viewcode_modules'):
return return