diff options
author | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2019-07-06 12:23:27 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-07-06 12:23:27 +0900 |
commit | 847a642b414871dd0b9df4b8913f9e04516b5757 (patch) | |
tree | 32bee335f1f58317826b175c0adcbd8cbb6c5612 /sphinx/ext/viewcode.py | |
parent | e25d77e99931d7258506e463b73f0217b6bb9db5 (diff) | |
parent | 7806a92e3dcca1231c654c7417d441db98844510 (diff) | |
download | sphinx-git-847a642b414871dd0b9df4b8913f9e04516b5757.tar.gz |
Merge pull request #6541 from tk0miya/refactor_type_annotation_ext2
Migrate to py3 style type annotation: sphinx.ext (Part 2)
Diffstat (limited to 'sphinx/ext/viewcode.py')
-rw-r--r-- | sphinx/ext/viewcode.py | 34 |
1 files changed, 14 insertions, 20 deletions
diff --git a/sphinx/ext/viewcode.py b/sphinx/ext/viewcode.py index ee6710495..36ddfb580 100644 --- a/sphinx/ext/viewcode.py +++ b/sphinx/ext/viewcode.py @@ -10,29 +10,27 @@ import traceback import warnings +from typing import Any, Dict, Iterable, Iterator, Set, Tuple from docutils import nodes +from docutils.nodes import Element, Node import sphinx from sphinx import addnodes +from sphinx.application import Sphinx +from sphinx.config import Config from sphinx.deprecation import RemovedInSphinx30Warning +from sphinx.environment import BuildEnvironment from sphinx.locale import _, __ from sphinx.pycode import ModuleAnalyzer from sphinx.util import get_full_modname, logging, status_iterator from sphinx.util.nodes import make_refnode -if False: - # For type annotation - from typing import Any, Dict, Iterable, Iterator, Set, Tuple # NOQA - from sphinx.application import Sphinx # NOQA - from sphinx.config import Config # NOQA - from sphinx.environment import BuildEnvironment # NOQA logger = logging.getLogger(__name__) -def _get_full_modname(app, modname, attribute): - # type: (Sphinx, str, str) -> str +def _get_full_modname(app: Sphinx, modname: str, attribute: str) -> str: try: return get_full_modname(modname, attribute) except AttributeError: @@ -50,8 +48,7 @@ def _get_full_modname(app, modname, attribute): return None -def doctree_read(app, doctree): - # type: (Sphinx, nodes.Node) -> None +def doctree_read(app: Sphinx, doctree: Node) -> None: env = app.builder.env if not hasattr(env, '_viewcode_modules'): env._viewcode_modules = {} # type: ignore @@ -122,8 +119,8 @@ def doctree_read(app, doctree): signode += onlynode -def env_merge_info(app, env, docnames, other): - # type: (Sphinx, BuildEnvironment, Iterable[str], BuildEnvironment) -> None +def env_merge_info(app: Sphinx, env: BuildEnvironment, docnames: Iterable[str], + other: BuildEnvironment) -> None: if not hasattr(other, '_viewcode_modules'): return # create a _viewcode_modules dict on the main environment @@ -133,8 +130,8 @@ def env_merge_info(app, env, docnames, other): env._viewcode_modules.update(other._viewcode_modules) # type: ignore -def missing_reference(app, env, node, contnode): - # type: (Sphinx, BuildEnvironment, nodes.Element, nodes.Node) -> nodes.Node +def missing_reference(app: Sphinx, env: BuildEnvironment, node: Element, contnode: Node + ) -> Node: # resolve our "viewcode" reference nodes -- they need special treatment if node['reftype'] == 'viewcode': return make_refnode(app.builder, node['refdoc'], node['reftarget'], @@ -143,8 +140,7 @@ def missing_reference(app, env, node, contnode): return None -def collect_pages(app): - # type: (Sphinx) -> Iterator[Tuple[str, Dict[str, Any], str]] +def collect_pages(app: Sphinx) -> Iterator[Tuple[str, Dict[str, Any], str]]: env = app.builder.env if not hasattr(env, '_viewcode_modules'): return @@ -238,16 +234,14 @@ def collect_pages(app): yield ('_modules/index', context, 'page.html') -def migrate_viewcode_import(app, config): - # type: (Sphinx, Config) -> None +def migrate_viewcode_import(app: Sphinx, config: Config) -> None: if config.viewcode_import is not None: warnings.warn('viewcode_import was renamed to viewcode_follow_imported_members. ' 'Please update your configuration.', RemovedInSphinx30Warning, stacklevel=2) -def setup(app): - # type: (Sphinx) -> Dict[str, Any] +def setup(app: Sphinx) -> Dict[str, Any]: app.add_config_value('viewcode_import', None, False) app.add_config_value('viewcode_enable_epub', False, False) app.add_config_value('viewcode_follow_imported_members', True, False) |