diff options
author | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2018-11-27 21:47:15 +0900 |
---|---|---|
committer | Takeshi KOMIYA <i.tkomiya@gmail.com> | 2018-11-28 00:54:53 +0900 |
commit | 670c8a61733e1a9d21f2fd8028aa58e08a16780e (patch) | |
tree | 3b397dbfe3a62453c5d8101125fbb335a9cf62cb | |
parent | 94c6a5fa2b05c1cb8d6920b561aecb8b15424b0e (diff) | |
download | sphinx-git-670c8a61733e1a9d21f2fd8028aa58e08a16780e.tar.gz |
Fix annotations for writers
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | sphinx/writers/html.py | 8 | ||||
-rw-r--r-- | sphinx/writers/html5.py | 9 | ||||
-rw-r--r-- | sphinx/writers/latex.py | 44 | ||||
-rw-r--r-- | sphinx/writers/manpage.py | 4 | ||||
-rw-r--r-- | sphinx/writers/texinfo.py | 8 | ||||
-rw-r--r-- | sphinx/writers/text.py | 8 |
7 files changed, 42 insertions, 41 deletions
@@ -57,7 +57,7 @@ style-check: .PHONY: type-check type-check: - mypy sphinx/ + mypy sphinx/writers .PHONY: pylint pylint: diff --git a/sphinx/writers/html.py b/sphinx/writers/html.py index b672b55e9..49f553004 100644 --- a/sphinx/writers/html.py +++ b/sphinx/writers/html.py @@ -301,7 +301,7 @@ class HTMLTranslator(BaseTranslator): self.depart_admonition(node) def add_secnumber(self, node): - # type: (nodes.Node) -> None + # type: (nodes.Element) -> None if node.get('secnumber'): self.body.append('.'.join(map(str, node['secnumber'])) + self.secnumber_suffix) @@ -321,7 +321,7 @@ class HTMLTranslator(BaseTranslator): self.secnumber_suffix) def add_fignumber(self, node): - # type: (nodes.Node) -> None + # type: (nodes.Element) -> None def append_fignumber(figtype, figure_id): # type: (unicode, unicode) -> None if self.builder.name == 'singlehtml': @@ -349,13 +349,13 @@ class HTMLTranslator(BaseTranslator): append_fignumber(figtype, node['ids'][0]) def add_permalink_ref(self, node, title): - # type: (nodes.Node, unicode) -> None + # type: (nodes.Element, unicode) -> None if node['ids'] and self.permalink_text and self.builder.add_permalinks: format = u'<a class="headerlink" href="#%s" title="%s">%s</a>' self.body.append(format % (node['ids'][0], title, self.permalink_text)) def generate_targets_for_listing(self, node): - # type: (nodes.Node) -> None + # type: (nodes.Element) -> None """Generate hyperlink targets for listings. Original visit_bullet_list(), visit_definition_list() and visit_enumerated_list() diff --git a/sphinx/writers/html5.py b/sphinx/writers/html5.py index 43438d59c..66428593d 100644 --- a/sphinx/writers/html5.py +++ b/sphinx/writers/html5.py @@ -269,7 +269,7 @@ class HTML5Translator(BaseTranslator): self.depart_admonition(node) def add_secnumber(self, node): - # type: (nodes.Node) -> None + # type: (nodes.Element) -> None if node.get('secnumber'): self.body.append('.'.join(map(str, node['secnumber'])) + self.secnumber_suffix) @@ -289,7 +289,7 @@ class HTML5Translator(BaseTranslator): self.secnumber_suffix) def add_fignumber(self, node): - # type: (nodes.Node) -> None + # type: (nodes.Element) -> None def append_fignumber(figtype, figure_id): # type: (unicode, unicode) -> None if self.builder.name == 'singlehtml': @@ -317,7 +317,7 @@ class HTML5Translator(BaseTranslator): append_fignumber(figtype, node['ids'][0]) def add_permalink_ref(self, node, title): - # type: (nodes.Node, unicode) -> None + # type: (nodes.Element, unicode) -> None if node['ids'] and self.permalink_text and self.builder.add_permalinks: format = u'<a class="headerlink" href="#%s" title="%s">%s</a>' self.body.append(format % (node['ids'][0], title, self.permalink_text)) @@ -766,7 +766,7 @@ class HTML5Translator(BaseTranslator): # overwritten to add even/odd classes def generate_targets_for_table(self, node): - # type: (nodes.Node) -> None + # type: (nodes.Element) -> None """Generate hyperlink targets for tables. Original visit_table() generates hyperlink targets inside table tags @@ -815,7 +815,6 @@ class HTML5Translator(BaseTranslator): node['classes'].append('field-even') else: node['classes'].append('field-odd') - return node def visit_math(self, node, math_env=''): # type: (nodes.math, unicode) -> None diff --git a/sphinx/writers/latex.py b/sphinx/writers/latex.py index afa9a58d3..a7750ea4f 100644 --- a/sphinx/writers/latex.py +++ b/sphinx/writers/latex.py @@ -504,7 +504,7 @@ class LaTeXTranslator(nodes.NodeVisitor): docclasses = ('howto', 'manual') def __init__(self, document, builder): - # type: (nodes.Node, LaTeXBuilder) -> None + # type: (nodes.document, LaTeXBuilder) -> None super(LaTeXTranslator, self).__init__(document) self.builder = builder self.body = [] # type: List[unicode] @@ -699,15 +699,15 @@ class LaTeXTranslator(nodes.NodeVisitor): self.elements['numfig_format'] = self.generate_numfig_format(builder) self.highlighter = highlighting.PygmentsBridge('latex', builder.config.pygments_style) - self.context = [] # type: List[Any] - self.descstack = [] # type: List[unicode] - self.table = None # type: Table - self.next_table_colspec = None # type: unicode - self.bodystack = [] # type: List[List[unicode]] - self.footnote_restricted = False - self.pending_footnotes = [] # type: List[nodes.footnote_reference] - self.curfilestack = [] # type: List[unicode] - self.handled_abbrs = set() # type: Set[unicode] + self.context = [] # type: List[Any] + self.descstack = [] # type: List[unicode] + self.table = None # type: Table + self.next_table_colspec = None # type: unicode + self.bodystack = [] # type: List[List[unicode]] + self.footnote_restricted = None # type: nodes.Element + self.pending_footnotes = [] # type: List[nodes.footnote_reference] + self.curfilestack = [] # type: List[unicode] + self.handled_abbrs = set() # type: Set[unicode] def pushbody(self, newbody): # type: (List[unicode]) -> None @@ -721,21 +721,21 @@ class LaTeXTranslator(nodes.NodeVisitor): return body def restrict_footnote(self, node): - # type: (nodes.Node) -> None + # type: (nodes.Element) -> None warnings.warn('LaTeXWriter.restrict_footnote() is deprecated.', RemovedInSphinx30Warning, stacklevel=2) - if self.footnote_restricted is False: + if self.footnote_restricted is None: self.footnote_restricted = node self.pending_footnotes = [] def unrestrict_footnote(self, node): - # type: (nodes.Node) -> None + # type: (nodes.Element) -> None warnings.warn('LaTeXWriter.unrestrict_footnote() is deprecated.', RemovedInSphinx30Warning, stacklevel=2) if self.footnote_restricted == node: - self.footnote_restricted = False + self.footnote_restricted = None for footnode in self.pending_footnotes: footnode['footnotetext'] = True footnode.walkabout(self) @@ -765,7 +765,7 @@ class LaTeXTranslator(nodes.NodeVisitor): '\\label{%s}' % self.idescape(id) def hypertarget_to(self, node, anchor=False): - # type: (nodes.Node, bool) -> unicode + # type: (nodes.Element, bool) -> unicode labels = ''.join(self.hypertarget(node_id, anchor=False) for node_id in node['ids']) if anchor: return r'\phantomsection' + labels @@ -914,9 +914,9 @@ class LaTeXTranslator(nodes.NodeVisitor): self.curfilestack.append(node['docname']) def collect_footnotes(self, node): - # type: (nodes.Node) -> Dict[unicode, List[Union[collected_footnote, bool]]] + # type: (nodes.Element) -> Dict[unicode, List[Union[collected_footnote, bool]]] def footnotes_under(n): - # type: (nodes.Node) -> Iterator[nodes.Node] + # type: (nodes.Element) -> Iterator[nodes.footnote] if isinstance(n, nodes.footnote): yield n else: @@ -1088,7 +1088,7 @@ class LaTeXTranslator(nodes.NodeVisitor): self.body.append('\n\\end{fulllineitems}\n\n') def _visit_signature_line(self, node): - # type: (nodes.Node) -> None + # type: (nodes.Element) -> None for child in node: if isinstance(child, addnodes.desc_parameterlist): self.body.append(r'\pysiglinewithargsret{') @@ -1464,7 +1464,7 @@ class LaTeXTranslator(nodes.NodeVisitor): def visit_enumerated_list(self, node): # type: (nodes.enumerated_list) -> None def get_enumtype(node): - # type: (nodes.Node) -> unicode + # type: (nodes.enumerated_list) -> unicode enumtype = node.get('enumtype', 'arabic') if 'alpha' in enumtype and 26 < node.get('start', 0) + len(node): # fallback to arabic if alphabet counter overflows @@ -1807,9 +1807,9 @@ class LaTeXTranslator(nodes.NodeVisitor): self.body.append('\\end{sphinxadmonition}\n') def _make_visit_admonition(name): - # type: (unicode) -> Callable[[LaTeXTranslator, nodes.Node], None] + # type: (unicode) -> Callable[[LaTeXTranslator, nodes.Element], None] def visit_admonition(self, node): - # type: (nodes.admonition) -> None + # type: (nodes.Element) -> None self.body.append(u'\n\\begin{sphinxadmonition}{%s}{%s:}' % (name, admonitionlabels[name])) return visit_admonition @@ -1869,7 +1869,7 @@ class LaTeXTranslator(nodes.NodeVisitor): self.body.append(self.hypertarget(id, anchor=anchor)) # skip if visitor for next node supports hyperlink - next_node = node + next_node = node # type: nodes.Node while isinstance(next_node, nodes.target): next_node = next_node.next_node(ascend=True) diff --git a/sphinx/writers/manpage.py b/sphinx/writers/manpage.py index 5fe949b9a..b616a8233 100644 --- a/sphinx/writers/manpage.py +++ b/sphinx/writers/manpage.py @@ -23,7 +23,7 @@ from sphinx.util.nodes import NodeMatcher if False: # For type annotation - from typing import Any # NOQA + from typing import Any, Dict # NOQA from sphinx.builders import Builder # NOQA from sphinx.util.typing import unicode # NOQA @@ -81,6 +81,8 @@ class ManualPageTranslator(BaseTranslator): Custom translator. """ + _docinfo = {} # type: Dict[unicode, Any] + def __init__(self, builder, *args, **kwds): # type: (Builder, Any, Any) -> None super(ManualPageTranslator, self).__init__(*args, **kwds) diff --git a/sphinx/writers/texinfo.py b/sphinx/writers/texinfo.py index 54a828c98..c1857cf16 100644 --- a/sphinx/writers/texinfo.py +++ b/sphinx/writers/texinfo.py @@ -88,7 +88,7 @@ TEMPLATE = """\ def find_subsections(section): - # type: (nodes.Node) -> List[nodes.Node] + # type: (nodes.Element) -> List[nodes.section] """Return a list of subsections for the given ``section``.""" result = [] for child in section.children: @@ -162,7 +162,7 @@ class TexinfoTranslator(nodes.NodeVisitor): } def __init__(self, document, builder): - # type: (nodes.Node, TexinfoBuilder) -> None + # type: (nodes.document, TexinfoBuilder) -> None super(TexinfoTranslator, self).__init__(document) self.builder = builder self.init_settings() @@ -520,9 +520,9 @@ class TexinfoTranslator(nodes.NodeVisitor): # TODO: move this to sphinx.util def collect_footnotes(self, node): - # type: (nodes.Node) -> Dict[unicode, List[Union[collected_footnote, bool]]] + # type: (nodes.Element) -> Dict[unicode, List[Union[collected_footnote, bool]]] def footnotes_under(n): - # type: (nodes.Node) -> Iterator[nodes.footnote] + # type: (nodes.Element) -> Iterator[nodes.footnote] if isinstance(n, nodes.footnote): yield n else: diff --git a/sphinx/writers/text.py b/sphinx/writers/text.py index db27694d1..78d015c18 100644 --- a/sphinx/writers/text.py +++ b/sphinx/writers/text.py @@ -393,7 +393,7 @@ class TextWriter(writers.Writer): class TextTranslator(nodes.NodeVisitor): def __init__(self, document, builder): - # type: (nodes.Node, TextBuilder) -> None + # type: (nodes.document, TextBuilder) -> None super(TextTranslator, self).__init__(document) self.builder = builder @@ -1039,16 +1039,16 @@ class TextTranslator(nodes.NodeVisitor): self.end_state() def _visit_admonition(self, node): - # type: (nodes.Node) -> None + # type: (nodes.Element) -> None self.new_state(2) if isinstance(node.children[0], nodes.Sequential): self.add_text(self.nl) def _make_depart_admonition(name): - # type: (unicode) -> Callable[[TextTranslator, nodes.Node], None] + # type: (unicode) -> Callable[[TextTranslator, nodes.Element], None] def depart_admonition(self, node): - # type: (nodes.admonition) -> None + # type: (nodes.Element) -> None self.end_state(first=admonitionlabels[name] + ': ') return depart_admonition |