diff options
author | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2018-11-23 21:23:36 +0900 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-11-23 21:23:36 +0900 |
commit | e326017f743a2e2757e9611a0385623a2cb85b6d (patch) | |
tree | f430e9c18689ae7ee0795daea9663eb320891e5f | |
parent | c0f0091e6e553b56cb63d662ebab97ed2196aee6 (diff) | |
parent | 24564892699384ee37f283850ae224c5a90c988b (diff) | |
download | sphinx-git-e326017f743a2e2757e9611a0385623a2cb85b6d.tar.gz |
Merge pull request #5661 from tk0miya/fix_typehints_for_transforms
Adjust type annotations for transforms to docutils'
-rw-r--r-- | sphinx/builders/latex/transforms.py | 32 | ||||
-rw-r--r-- | sphinx/transforms/__init__.py | 58 | ||||
-rw-r--r-- | sphinx/transforms/compact_bullet_list.py | 6 | ||||
-rw-r--r-- | sphinx/transforms/i18n.py | 12 | ||||
-rw-r--r-- | sphinx/transforms/post_transforms/__init__.py | 8 | ||||
-rw-r--r-- | sphinx/transforms/post_transforms/code.py | 6 | ||||
-rw-r--r-- | sphinx/transforms/post_transforms/compat.py | 4 | ||||
-rw-r--r-- | sphinx/transforms/post_transforms/images.py | 4 | ||||
-rw-r--r-- | sphinx/transforms/references.py | 12 | ||||
-rw-r--r-- | sphinx/util/compat.py | 3 | ||||
-rw-r--r-- | sphinx/versioning.py | 4 | ||||
-rw-r--r-- | sphinx/writers/manpage.py | 4 |
12 files changed, 81 insertions, 72 deletions
diff --git a/sphinx/builders/latex/transforms.py b/sphinx/builders/latex/transforms.py index dff64ada5..c95886e7e 100644 --- a/sphinx/builders/latex/transforms.py +++ b/sphinx/builders/latex/transforms.py @@ -20,7 +20,7 @@ from sphinx.util.nodes import NodeMatcher if False: # For type annotation - from typing import Dict, List, Set, Tuple, Union # NOQA + from typing import Any, Dict, List, Set, Tuple, Union # NOQA URI_SCHEMES = ('mailto:', 'http:', 'https:', 'ftp:') @@ -30,7 +30,8 @@ class FootnoteDocnameUpdater(SphinxTransform): default_priority = 700 TARGET_NODES = (nodes.footnote, nodes.footnote_reference) - def apply(self): + def apply(self, **kwargs): + # type: (Any) -> None for node in self.document.traverse(NodeMatcher(*self.TARGET_NODES)): node['docname'] = self.env.docname @@ -47,8 +48,8 @@ class ShowUrlsTransform(SphinxTransform): # references are expanded to footnotes (or not) expanded = False - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None try: # replace id_prefix temporarily id_prefix = self.document.settings.id_prefix @@ -342,7 +343,8 @@ class LaTeXFootnoteTransform(SphinxTransform): default_priority = 600 - def apply(self): + def apply(self, **kwargs): + # type: (Any) -> None footnotes = list(self.document.traverse(nodes.footnote)) for node in footnotes: node.parent.remove(node) @@ -513,8 +515,8 @@ class BibliographyTransform(SphinxTransform): """ default_priority = 750 - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None citations = thebibliography() for node in self.document.traverse(nodes.citation): node.parent.remove(node) @@ -532,8 +534,8 @@ class CitationReferenceTransform(SphinxTransform): """ default_priority = 5 # before ReferencesResolver - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None if self.app.builder.name != 'latex': return @@ -555,8 +557,8 @@ class MathReferenceTransform(SphinxTransform): """ default_priority = 5 # before ReferencesResolver - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None if self.app.builder.name != 'latex': return @@ -573,8 +575,8 @@ class LiteralBlockTransform(SphinxTransform): """Replace container nodes for literal_block by captioned_literal_block.""" default_priority = 400 - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None if self.app.builder.name != 'latex': return @@ -588,8 +590,8 @@ class DocumentTargetTransform(SphinxTransform): """Add :doc label to the first section of each document.""" default_priority = 400 - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None if self.app.builder.name != 'latex': return diff --git a/sphinx/transforms/__init__.py b/sphinx/transforms/__init__.py index ab69f981a..a0549569e 100644 --- a/sphinx/transforms/__init__.py +++ b/sphinx/transforms/__init__.py @@ -27,7 +27,7 @@ from sphinx.util.nodes import apply_source_workaround, is_smartquotable if False: # For type annotation - from typing import Generator, List # NOQA + from typing import Any, Generator, List # NOQA from sphinx.application import Sphinx # NOQA from sphinx.config import Config # NOQA from sphinx.domain.std import StandardDomain # NOQA @@ -108,8 +108,8 @@ class DefaultSubstitutions(SphinxTransform): # run before the default Substitutions default_priority = 210 - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None # only handle those not otherwise defined in the document to_handle = default_substitutions - set(self.document.substitution_defs) for ref in self.document.traverse(nodes.substitution_reference): @@ -132,8 +132,8 @@ class MoveModuleTargets(SphinxTransform): """ default_priority = 210 - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None for node in self.document.traverse(nodes.target): if not node['ids']: continue @@ -151,8 +151,8 @@ class HandleCodeBlocks(SphinxTransform): """ default_priority = 210 - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None # move doctest blocks out of blockquotes for node in self.document.traverse(nodes.block_quote): if all(isinstance(child, nodes.doctest_block) for child @@ -176,8 +176,8 @@ class AutoNumbering(SphinxTransform): """ default_priority = 210 - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None domain = self.env.get_domain('std') # type: StandardDomain for node in self.document.traverse(nodes.Element): @@ -191,8 +191,8 @@ class SortIds(SphinxTransform): """ default_priority = 261 - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None for node in self.document.traverse(nodes.section): if len(node['ids']) > 1 and node['ids'][0].startswith('id'): node['ids'] = node['ids'][1:] + [node['ids'][0]] @@ -205,8 +205,8 @@ class CitationReferences(SphinxTransform): """ default_priority = 619 - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None # mark citation labels as not smartquoted for citnode in self.document.traverse(nodes.citation): citnode[0]['support_smartquotes'] = False @@ -238,8 +238,8 @@ class ApplySourceWorkaround(SphinxTransform): """ default_priority = 10 - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None for n in self.document.traverse(): if isinstance(n, (nodes.TextElement, nodes.image)): apply_source_workaround(n) @@ -251,8 +251,8 @@ class AutoIndexUpgrader(SphinxTransform): """ default_priority = 210 - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None for node in self.document.traverse(addnodes.index): if 'entries' in node and any(len(entry) == 4 for entry in node['entries']): msg = __('4 column based index found. ' @@ -269,8 +269,8 @@ class ExtraTranslatableNodes(SphinxTransform): """ default_priority = 10 - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None targets = self.config.gettext_additional_targets target_nodes = [v for k, v in TRANSLATABLE_NODES.items() if k in targets] if not target_nodes: @@ -290,8 +290,8 @@ class UnreferencedFootnotesDetector(SphinxTransform): """ default_priority = 200 - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None for node in self.document.footnotes: if node['names'] == []: # footnote having duplicated number. It is already warned at parser. @@ -312,8 +312,8 @@ class FilterSystemMessages(SphinxTransform): """Filter system messages from a doctree.""" default_priority = 999 - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None filterlevel = self.config.keep_warnings and 2 or 5 for node in self.document.traverse(nodes.system_message): if node['level'] < filterlevel: @@ -345,8 +345,8 @@ class SphinxSmartQuotes(SmartQuotes, SphinxTransform): """ default_priority = 750 - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None if not self.is_available(): return @@ -403,8 +403,8 @@ class DoctreeReadEvent(SphinxTransform): """Emit :event:`doctree-read` event.""" default_priority = 880 - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None self.app.emit('doctree-read', self.document) @@ -412,8 +412,8 @@ class ManpageLink(SphinxTransform): """Find manpage section numbers and names""" default_priority = 999 - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None for node in self.document.traverse(addnodes.manpage): manpage = ' '.join([str(x) for x in node.children if isinstance(x, nodes.Text)]) diff --git a/sphinx/transforms/compact_bullet_list.py b/sphinx/transforms/compact_bullet_list.py index 0121dd12f..7f50dc5d2 100644 --- a/sphinx/transforms/compact_bullet_list.py +++ b/sphinx/transforms/compact_bullet_list.py @@ -16,7 +16,7 @@ from sphinx.transforms import SphinxTransform if False: # For type annotation - from typing import List # NOQA + from typing import Any, List # NOQA class RefOnlyListChecker(nodes.GenericNodeVisitor): @@ -65,8 +65,8 @@ class RefOnlyBulletListTransform(SphinxTransform): """ default_priority = 100 - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None if self.config.html_compact_lists: return diff --git a/sphinx/transforms/i18n.py b/sphinx/transforms/i18n.py index 52add24ed..ec05ae05c 100644 --- a/sphinx/transforms/i18n.py +++ b/sphinx/transforms/i18n.py @@ -72,8 +72,8 @@ class PreserveTranslatableMessages(SphinxTransform): """ default_priority = 10 # this MUST be invoked before Locale transform - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None for node in self.document.traverse(addnodes.translatable): node.preserve_original_messages() @@ -84,8 +84,8 @@ class Locale(SphinxTransform): """ default_priority = 20 - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None settings, source = self.document.settings, self.document['source'] msgstr = u'' @@ -471,8 +471,8 @@ class RemoveTranslatableInline(SphinxTransform): """ default_priority = 999 - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None from sphinx.builders.gettext import MessageCatalogBuilder if isinstance(self.app.builder, MessageCatalogBuilder): return diff --git a/sphinx/transforms/post_transforms/__init__.py b/sphinx/transforms/post_transforms/__init__.py index a5cb897d9..f21410caa 100644 --- a/sphinx/transforms/post_transforms/__init__.py +++ b/sphinx/transforms/post_transforms/__init__.py @@ -35,8 +35,8 @@ class ReferencesResolver(SphinxTransform): default_priority = 10 - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None for node in self.document.traverse(addnodes.pending_xref): contnode = node[0].deepcopy() newnode = None @@ -147,8 +147,8 @@ class ReferencesResolver(SphinxTransform): class OnlyNodeTransform(SphinxTransform): default_priority = 50 - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None # A comment on the comment() nodes being inserted: replacing by [] would # result in a "Losing ids" exception if there is a target node before # the only node, so we make sure docutils can transfer the id to diff --git a/sphinx/transforms/post_transforms/code.py b/sphinx/transforms/post_transforms/code.py index 3e7cbcb1a..66369285c 100644 --- a/sphinx/transforms/post_transforms/code.py +++ b/sphinx/transforms/post_transforms/code.py @@ -40,7 +40,8 @@ class HighlightLanguageTransform(SphinxTransform): """ default_priority = 400 - def apply(self): + def apply(self, **kwargs): + # type: (Any) -> None visitor = HighlightLanguageVisitor(self.document, self.config.highlight_language) self.document.walkabout(visitor) @@ -105,7 +106,8 @@ class TrimDoctestFlagsTransform(SphinxTransform): """ default_priority = HighlightLanguageTransform.default_priority + 1 - def apply(self): + def apply(self, **kwargs): + # type: (Any) -> None if not self.config.trim_doctest_flags: return diff --git a/sphinx/transforms/post_transforms/compat.py b/sphinx/transforms/post_transforms/compat.py index 8065cf91c..9bd3b3395 100644 --- a/sphinx/transforms/post_transforms/compat.py +++ b/sphinx/transforms/post_transforms/compat.py @@ -40,8 +40,8 @@ class MathNodeMigrator(SphinxTransform): """ default_priority = 999 - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None for node in self.document.traverse(nodes.math): # case: old styled ``math`` node generated by old extensions if len(node) == 0: diff --git a/sphinx/transforms/post_transforms/images.py b/sphinx/transforms/post_transforms/images.py index 877292615..728b00c12 100644 --- a/sphinx/transforms/post_transforms/images.py +++ b/sphinx/transforms/post_transforms/images.py @@ -35,8 +35,8 @@ MAX_FILENAME_LEN = 32 class BaseImageConverter(SphinxTransform): - def apply(self): - # type: () -> None + def apply(self, **kwargsj): + # type: (Any) -> None for node in self.document.traverse(nodes.image): if self.match(node): self.handle(node) diff --git a/sphinx/transforms/references.py b/sphinx/transforms/references.py index bb7c51da7..d33ebefd2 100644 --- a/sphinx/transforms/references.py +++ b/sphinx/transforms/references.py @@ -14,6 +14,10 @@ from docutils.transforms.references import Substitutions from sphinx.transforms import SphinxTransform +if False: + # For type annotation + from typing import Any # NOQA + class SubstitutionDefinitionsRemover(SphinxTransform): """Remove ``substitution_definition node from doctrees.""" @@ -21,8 +25,8 @@ class SubstitutionDefinitionsRemover(SphinxTransform): # should be invoked after Substitutions process default_priority = Substitutions.default_priority + 1 - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None for node in self.document.traverse(nodes.substitution_definition): node.parent.remove(node) @@ -31,7 +35,7 @@ class SphinxDomains(SphinxTransform): """Collect objects to Sphinx domains for cross references.""" default_priority = 850 - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None for domain in self.env.domains.values(): domain.process_doc(self.env, self.env.docname, self.document) diff --git a/sphinx/util/compat.py b/sphinx/util/compat.py index e0c86df5e..4f41f311a 100644 --- a/sphinx/util/compat.py +++ b/sphinx/util/compat.py @@ -58,7 +58,8 @@ class IndexEntriesMigrator(SphinxTransform): """Migrating indexentries from old style (4columns) to new style (5columns).""" default_priority = 700 - def apply(self): + def apply(self, **kwargs): + # type: (Any) -> None for node in self.document.traverse(addnodes.index): for entries in node['entries']: if len(entries) == 4: diff --git a/sphinx/versioning.py b/sphinx/versioning.py index 4bac70bf9..56da86a4a 100644 --- a/sphinx/versioning.py +++ b/sphinx/versioning.py @@ -159,8 +159,8 @@ class UIDTransform(SphinxTransform): """Add UIDs to doctree for versioning.""" default_priority = 880 - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None env = self.env old_doctree = None if not env.versioning_condition: diff --git a/sphinx/writers/manpage.py b/sphinx/writers/manpage.py index 9cd0e8de8..a82265286 100644 --- a/sphinx/writers/manpage.py +++ b/sphinx/writers/manpage.py @@ -60,8 +60,8 @@ class NestedInlineTransform: # type: (nodes.document) -> None self.document = document - def apply(self): - # type: () -> None + def apply(self, **kwargs): + # type: (Any) -> None matcher = NodeMatcher(nodes.literal, nodes.emphasis, nodes.strong) for node in self.document.traverse(matcher): if any(matcher(subnode) for subnode in node): |