Fix annotations for app.add_nodes() and related functions

This commit is contained in:
Takeshi KOMIYA committed 2018-11-24 21:59:11 +09:00
1 parent 8c3a066983
commit d4e22793ca
4 files changed
+10 -10

No files matched your search

+3 -3
View File
@@ -523,7 +523,7 @@ class Sphinx:
self.registry.add_translator(name, translator_class, override=override)
def add_node(self, node, override=False, **kwds):
# type: (nodes.Node, bool, Any) -> None
# type: (Type[nodes.Node], bool, Any) -> None
"""Register a Docutils node class.
This is necessary for Docutils internals. It may also be used in the
@@ -562,7 +562,7 @@ class Sphinx:
self.registry.add_translation_handlers(node, **kwds)
def add_enumerable_node(self, node, figtype, title_getter=None, override=False, **kwds):
# type: (nodes.Node, unicode, TitleGetter, bool, Any) -> None
# type: (Type[nodes.Element], unicode, TitleGetter, bool, Any) -> None
"""Register a Docutils node class as a numfig target.
Sphinx numbers the node automatically. And then the users can refer it
@@ -591,7 +591,7 @@ class Sphinx:
@property
def enumerable_nodes(self):
# type: () -> Dict[nodes.Node, Tuple[unicode, TitleGetter]]
# type: () -> Dict[Type[nodes.Element], Tuple[unicode, TitleGetter]]
warnings.warn('app.enumerable_nodes() is deprecated. '
'Use app.get_domain("std").enumerable_nodes instead.',
RemovedInSphinx30Warning, stacklevel=2)
+1 -1
View File
@@ -159,7 +159,7 @@ class Domain:
#: role name -> a warning message if reference is missing
dangling_warnings = {} # type: Dict[unicode, unicode]
#: node_class -> (enum_node_type, title_getter)
enumerable_nodes = {} # type: Dict[Type[nodes.Node], Tuple[unicode, Callable]]
enumerable_nodes = {} # type: Dict[Type[nodes.Element], Tuple[unicode, Callable]]
#: data value for a fresh environment
initial_data = {} # type: Dict
+2 -2
View File
@@ -90,7 +90,7 @@ class SphinxComponentRegistry:
#: additional enumerable nodes
#: a dict of node class -> tuple of figtype and title_getter function
self.enumerable_nodes = {} # type: Dict[nodes.Node, Tuple[unicode, TitleGetter]]
self.enumerable_nodes = {} # type: Dict[Type[nodes.Element], Tuple[unicode, TitleGetter]] # NOQA
#: HTML inline and block math renderers
#: a dict of name -> tuple of visit function and depart function
@@ -438,7 +438,7 @@ class SphinxComponentRegistry:
self.latex_packages.append((name, options))
def add_enumerable_node(self, node, figtype, title_getter=None, override=False):
# type: (nodes.Node, unicode, TitleGetter, bool) -> None
# type: (Type[nodes.Element], unicode, TitleGetter, bool) -> None
logger.debug('[app] adding enumerable node: (%r, %r, %r)', node, figtype, title_getter)
if node in self.enumerable_nodes and not override:
raise ExtensionError(__('enumerable_node %r already registered') % node)
+4 -4
View File
@@ -36,7 +36,7 @@ report_re = re.compile('^(.+?:(?:\\d+)?): \\((DEBUG|INFO|WARNING|ERROR|SEVERE)/(
if False:
# For type annotation
from typing import Any, Callable, Generator, List, Set, Tuple # NOQA
from typing import Any, Callable, Generator, List, Set, Tuple, Type # NOQA
from docutils.statemachine import State, ViewList # NOQA
from sphinx.config import Config # NOQA
from sphinx.environment import BuildEnvironment # NOQA
@@ -66,13 +66,13 @@ def docutils_namespace():
def is_node_registered(node):
# type: (nodes.Node) -> bool
# type: (Type[nodes.Element]) -> bool
"""Check the *node* is already registered."""
return hasattr(nodes.GenericNodeVisitor, 'visit_' + node.__name__)
def register_node(node):
# type: (nodes.Node) -> None
# type: (Type[nodes.Element]) -> None
"""Register a node to docutils.
This modifies global state of some visitors. So it is better to use this
@@ -84,7 +84,7 @@ def register_node(node):
def unregister_node(node):
# type: (nodes.Node) -> None
# type: (Type[nodes.Element]) -> None
"""Unregister a node from docutils.
This is inverse of ``nodes._add_nodes_class_names()``.