Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/sphinx-doc/sphinx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakeshi KOMIYA <i.tkomiya@gmail.com>2018-12-03 19:52:07 +0300
committerTakeshi KOMIYA <i.tkomiya@gmail.com>2018-12-14 20:42:43 +0300
commit9dfc5e7efe599a6a0b5fdbeaf74b0fed29ba5bd6 (patch)
treebde502558f9c5f44eda814459826901797064085
parent53917f228f9bfbb4607b6441119baeb129869b93 (diff)
Add docutils-stubs to test deps
-rw-r--r--setup.py1
-rw-r--r--sphinx/builders/gettext.py2
-rw-r--r--sphinx/directives/patches.py4
-rw-r--r--sphinx/domains/python.py2
-rw-r--r--sphinx/environment/adapters/toctree.py4
-rw-r--r--sphinx/ext/autodoc/directive.py2
-rw-r--r--sphinx/io.py6
-rw-r--r--sphinx/parsers.py2
-rw-r--r--sphinx/testing/util.py8
-rw-r--r--sphinx/transforms/i18n.py2
-rw-r--r--sphinx/util/docutils.py29
-rw-r--r--sphinx/util/nodes.py4
-rw-r--r--sphinx/writers/html.py4
-rw-r--r--sphinx/writers/html5.py4
-rw-r--r--sphinx/writers/manpage.py6
-rw-r--r--tox.ini1
16 files changed, 42 insertions, 39 deletions
diff --git a/setup.py b/setup.py
index cfcbf5204..23e51452c 100644
--- a/setup.py
+++ b/setup.py
@@ -46,6 +46,7 @@ extras_require = {
'flake8>=3.5.0',
'flake8-import-order',
'mypy>=0.470',
+ 'docutils-stubs',
],
}
diff --git a/sphinx/builders/gettext.py b/sphinx/builders/gettext.py
index 6e7dd4d90..684013d11 100644
--- a/sphinx/builders/gettext.py
+++ b/sphinx/builders/gettext.py
@@ -83,7 +83,7 @@ class Catalog:
if msg not in self.metadata: # faster lookup in hash
self.messages.append(msg)
self.metadata[msg] = []
- self.metadata[msg].append((origin.source, origin.line, origin.uid))
+ self.metadata[msg].append((origin.source, origin.line, origin.uid)) # type: ignore
class MsgOrigin:
diff --git a/sphinx/directives/patches.py b/sphinx/directives/patches.py
index e4088af07..1b9d52ac7 100644
--- a/sphinx/directives/patches.py
+++ b/sphinx/directives/patches.py
@@ -62,10 +62,10 @@ class Meta(html.Meta, SphinxDirective):
meta = node.details['nodes'][0]
meta.source = self.env.doc2path(self.env.docname)
meta.line = self.lineno
- meta.rawcontent = meta['content']
+ meta.rawcontent = meta['content'] # type: ignore
# docutils' meta nodes aren't picklable because the class is nested
- meta.__class__ = addnodes.meta
+ meta.__class__ = addnodes.meta # type: ignore
return result
diff --git a/sphinx/domains/python.py b/sphinx/domains/python.py
index 91e975a96..8c5c6f999 100644
--- a/sphinx/domains/python.py
+++ b/sphinx/domains/python.py
@@ -152,7 +152,7 @@ class PyXrefMixin:
delims_re = re.compile(delims)
sub_targets = re.split(delims, target)
- split_contnode = bool(contnode and contnode.astext() == target)
+ split_contnode = bool(contnode and contnode.astext() == target) # type: ignore
results = []
for sub_target in filter(None, sub_targets):
diff --git a/sphinx/environment/adapters/toctree.py b/sphinx/environment/adapters/toctree.py
index 5d5a9b940..6a435f9ae 100644
--- a/sphinx/environment/adapters/toctree.py
+++ b/sphinx/environment/adapters/toctree.py
@@ -246,8 +246,8 @@ class TocTree:
caption_node.rawsource = toctree['rawcaption']
if hasattr(toctree, 'uid'):
# move uid to caption_node to translate it
- caption_node.uid = toctree.uid
- del toctree.uid
+ caption_node.uid = toctree.uid # type: ignore
+ del toctree.uid # type: ignore
newnode += caption_node
newnode.extend(tocentries)
newnode['toctree'] = True
diff --git a/sphinx/ext/autodoc/directive.py b/sphinx/ext/autodoc/directive.py
index 3761d26d2..bb6e05751 100644
--- a/sphinx/ext/autodoc/directive.py
+++ b/sphinx/ext/autodoc/directive.py
@@ -114,7 +114,7 @@ class AutodocDirective(SphinxDirective):
reporter = self.state.document.reporter
try:
- source, lineno = reporter.get_source_and_line(self.lineno)
+ source, lineno = reporter.get_source_and_line(self.lineno) # type: ignore
except AttributeError:
source, lineno = (None, None)
logger.debug('[autodoc] %s:%s: input:\n%s', source, lineno, self.block_text)
diff --git a/sphinx/io.py b/sphinx/io.py
index 6609d0e72..b4a99fe41 100644
--- a/sphinx/io.py
+++ b/sphinx/io.py
@@ -233,7 +233,7 @@ class SphinxRSTFileInput(SphinxBaseFileInput):
for lineno, line in enumerate(epilog.splitlines()):
text.append(line, '<rst_epilog>', lineno)
- def read(self):
+ def read(self): # type: ignore
# type: () -> StringList
warnings.warn('SphinxRSTFileInput is deprecated.',
RemovedInSphinx30Warning, stacklevel=2)
@@ -284,7 +284,7 @@ def read_doc(app, env, filename):
filetype = get_filetype(app.config.source_suffix, filename)
input_class = app.registry.get_source_input(filetype)
reader = SphinxStandaloneReader(app)
- source = input_class(app, env, source=None, source_path=filename,
+ source = input_class(app, env, source=None, source_path=filename, # type: ignore
encoding=env.config.source_encoding)
parser = app.registry.create_source_parser(app, filetype)
if parser.__class__.__name__ == 'CommonMarkParser' and parser.settings_spec == ():
@@ -295,7 +295,7 @@ def read_doc(app, env, filename):
# CommonMarkParser.
parser.settings_spec = RSTParser.settings_spec
- pub = Publisher(reader=reader,
+ pub = Publisher(reader=reader, # type: ignore
parser=parser,
writer=SphinxDummyWriter(),
source_class=SphinxDummySourceClass,
diff --git a/sphinx/parsers.py b/sphinx/parsers.py
index ac95c1d4d..c3fb2f1da 100644
--- a/sphinx/parsers.py
+++ b/sphinx/parsers.py
@@ -76,7 +76,7 @@ class RSTParser(docutils.parsers.rst.Parser, Parser):
def parse(self, inputstring, document):
# type: (Union[str, StringList], nodes.document) -> None
"""Parse text and generate a document tree."""
- self.setup_parse(inputstring, document)
+ self.setup_parse(inputstring, document) # type: ignore
self.statemachine = states.RSTStateMachine(
state_classes=self.state_classes,
initial_state=self.initial_state,
diff --git a/sphinx/testing/util.py b/sphinx/testing/util.py
index b34fd504b..f4d44ecde 100644
--- a/sphinx/testing/util.py
+++ b/sphinx/testing/util.py
@@ -133,8 +133,8 @@ class SphinxTestApp(application.Sphinx):
warningiserror = False
self._saved_path = sys.path[:]
- self._saved_directives = directives._directives.copy()
- self._saved_roles = roles._roles.copy()
+ self._saved_directives = directives._directives.copy() # type: ignore
+ self._saved_roles = roles._roles.copy() # type: ignore
self._saved_nodeclasses = set(v for v in dir(nodes.GenericNodeVisitor)
if v.startswith('visit_'))
@@ -154,8 +154,8 @@ class SphinxTestApp(application.Sphinx):
locale.translators.clear()
sys.path[:] = self._saved_path
sys.modules.pop('autodoc_fodder', None)
- directives._directives = self._saved_directives
- roles._roles = self._saved_roles
+ directives._directives = self._saved_directives # type: ignore
+ roles._roles = self._saved_roles # type: ignore
for method in dir(nodes.GenericNodeVisitor):
if method.startswith('visit_') and \
method not in self._saved_nodeclasses:
diff --git a/sphinx/transforms/i18n.py b/sphinx/transforms/i18n.py
index 236d733b7..8e6605824 100644
--- a/sphinx/transforms/i18n.py
+++ b/sphinx/transforms/i18n.py
@@ -63,7 +63,7 @@ def publish_msgstr(app, source, source_path, source_line, config, settings):
settings=settings,
)
try:
- doc = doc[0]
+ doc = doc[0] # type: ignore
except IndexError: # empty node
pass
return doc
diff --git a/sphinx/util/docutils.py b/sphinx/util/docutils.py
index 8dfac4835..1ec01ddc4 100644
--- a/sphinx/util/docutils.py
+++ b/sphinx/util/docutils.py
@@ -18,6 +18,7 @@ from contextlib import contextmanager
from copy import copy
from distutils.version import LooseVersion
from os import path
+from typing import IO, cast
import docutils
from docutils import nodes
@@ -55,13 +56,13 @@ def docutils_namespace():
# type: () -> Generator[None, None, None]
"""Create namespace for reST parsers."""
try:
- _directives = copy(directives._directives)
- _roles = copy(roles._roles)
+ _directives = copy(directives._directives) # type: ignore
+ _roles = copy(roles._roles) # type: ignore
yield
finally:
- directives._directives = _directives
- roles._roles = _roles
+ directives._directives = _directives # type: ignore
+ roles._roles = _roles # type: ignore
for node in list(additional_nodes):
unregister_node(node)
@@ -71,7 +72,7 @@ def docutils_namespace():
def is_directive_registered(name):
# type: (unicode) -> bool
"""Check the *name* directive is already registered."""
- return name in directives._directives
+ return name in directives._directives # type: ignore
def register_directive(name, directive):
@@ -87,7 +88,7 @@ def register_directive(name, directive):
def is_role_registered(name):
# type: (unicode) -> bool
"""Check the *name* role is already registered."""
- return name in roles._roles
+ return name in roles._roles # type: ignore
def register_role(name, role):
@@ -103,7 +104,7 @@ def register_role(name, role):
def unregister_role(name):
# type: (unicode) -> None
"""Unregister a role from docutils."""
- roles._roles.pop(name, None)
+ roles._roles.pop(name, None) # type: ignore
def is_node_registered(node):
@@ -120,7 +121,7 @@ def register_node(node):
inside ``docutils_namespace()`` to prevent side-effects.
"""
if not hasattr(nodes.GenericNodeVisitor, 'visit_' + node.__name__):
- nodes._add_node_class_names([node.__name__])
+ nodes._add_node_class_names([node.__name__]) # type: ignore
additional_nodes.add(node)
@@ -211,8 +212,8 @@ class sphinx_domains:
self.directive_func = directives.directive
self.role_func = roles.role
- directives.directive = self.lookup_directive
- roles.role = self.lookup_role
+ directives.directive = self.lookup_directive # type: ignore
+ roles.role = self.lookup_role # type: ignore
def disable(self):
# type: () -> None
@@ -287,7 +288,7 @@ class LoggingReporter(Reporter):
halt_level=Reporter.SEVERE_LEVEL, debug=False,
error_handler='backslashreplace'):
# type: (unicode, int, int, bool, unicode) -> None
- stream = WarningStream()
+ stream = cast(IO, WarningStream())
super(LoggingReporter, self).__init__(source, report_level, halt_level,
stream, debug, error_handler=error_handler)
@@ -329,17 +330,17 @@ def switch_source_input(state, content):
"""Switch current source input of state temporarily."""
try:
# remember the original ``get_source_and_line()`` method
- get_source_and_line = state.memo.reporter.get_source_and_line
+ get_source_and_line = state.memo.reporter.get_source_and_line # type: ignore
# replace it by new one
state_machine = StateMachine([], None)
state_machine.input_lines = content
- state.memo.reporter.get_source_and_line = state_machine.get_source_and_line
+ state.memo.reporter.get_source_and_line = state_machine.get_source_and_line # type: ignore # NOQA
yield
finally:
# restore the method
- state.memo.reporter.get_source_and_line = get_source_and_line
+ state.memo.reporter.get_source_and_line = get_source_and_line # type: ignore
class SphinxFileOutput(FileOutput):
diff --git a/sphinx/util/nodes.py b/sphinx/util/nodes.py
index 81050a558..39b7cbbe0 100644
--- a/sphinx/util/nodes.py
+++ b/sphinx/util/nodes.py
@@ -451,7 +451,7 @@ def set_source_info(directive, node):
def set_role_source_info(inliner, lineno, node):
# type: (Inliner, int, nodes.Node) -> None
- node.source, node.line = inliner.reporter.get_source_and_line(lineno)
+ node.source, node.line = inliner.reporter.get_source_and_line(lineno) # type: ignore
NON_SMARTQUOTABLE_PARENT_NODES = (
@@ -510,4 +510,4 @@ def _new_copy(self):
return newnode
-nodes.Element.copy = _new_copy
+nodes.Element.copy = _new_copy # type: ignore
diff --git a/sphinx/writers/html.py b/sphinx/writers/html.py
index 47414a1eb..e2e0797c6 100644
--- a/sphinx/writers/html.py
+++ b/sphinx/writers/html.py
@@ -281,7 +281,7 @@ class HTMLTranslator(SphinxTranslator, BaseTranslator):
self.depart_reference(node)
# overwritten -- we don't want source comments to show up in the HTML
- def visit_comment(self, node):
+ def visit_comment(self, node): # type: ignore
# type: (nodes.Element) -> None
raise nodes.SkipNode
@@ -840,7 +840,7 @@ class HTMLTranslator(SphinxTranslator, BaseTranslator):
else:
node['classes'].append('row-odd')
self.body.append(self.starttag(node, 'tr', ''))
- node.column = 0
+ node.column = 0 # type: ignore
def visit_entry(self, node):
# type: (nodes.Element) -> None
diff --git a/sphinx/writers/html5.py b/sphinx/writers/html5.py
index b014bc045..3c1f54965 100644
--- a/sphinx/writers/html5.py
+++ b/sphinx/writers/html5.py
@@ -250,7 +250,7 @@ class HTML5Translator(SphinxTranslator, BaseTranslator):
self.depart_reference(node)
# overwritten -- we don't want source comments to show up in the HTML
- def visit_comment(self, node):
+ def visit_comment(self, node): # type: ignore
# type: (nodes.Element) -> None
raise nodes.SkipNode
@@ -791,7 +791,7 @@ class HTML5Translator(SphinxTranslator, BaseTranslator):
else:
node['classes'].append('row-odd')
self.body.append(self.starttag(node, 'tr', ''))
- node.column = 0
+ node.column = 0 # type: ignore
def visit_field_list(self, node):
# type: (nodes.Element) -> None
diff --git a/sphinx/writers/manpage.py b/sphinx/writers/manpage.py
index d611fe220..2ac2cab7b 100644
--- a/sphinx/writers/manpage.py
+++ b/sphinx/writers/manpage.py
@@ -116,7 +116,7 @@ class ManualPageTranslator(SphinxTranslator, BaseTranslator):
# Overwrite admonition label translations with our own
for label, translation in admonitionlabels.items():
- self.language.labels[label] = self.deunicode(translation)
+ self.language.labels[label] = self.deunicode(translation) # type: ignore
# overwritten -- added quotes around all .TH arguments
def header(self):
@@ -253,7 +253,7 @@ class ManualPageTranslator(SphinxTranslator, BaseTranslator):
super(ManualPageTranslator, self).visit_term(node)
# overwritten -- we don't want source comments to show up
- def visit_comment(self, node):
+ def visit_comment(self, node): # type: ignore
# type: (nodes.Element) -> None
raise nodes.SkipNode
@@ -333,7 +333,7 @@ class ManualPageTranslator(SphinxTranslator, BaseTranslator):
self.body.append(self.defs['reference'][0])
# avoid repeating escaping code... fine since
# visit_Text calls astext() and only works on that afterwards
- self.visit_Text(node)
+ self.visit_Text(node) # type: ignore
self.body.append(self.defs['reference'][1])
uri = node.get('refuri', '')
diff --git a/tox.ini b/tox.ini
index 88f9a2ec3..20f8cfdc8 100644
--- a/tox.ini
+++ b/tox.ini
@@ -55,6 +55,7 @@ description =
Run type checks.
deps =
mypy
+ docutils-stubs
commands=
mypy sphinx/