refactor: Use super() to call methods of superclass

This commit is contained in:
Takeshi KOMIYA 2018-11-28 01:57:48 +09:00
parent c76885631d
commit 31c4d06a22
26 changed files with 93 additions and 98 deletions

View File

@ -127,7 +127,7 @@ class desc_returns(desc_type):
"""Node for a "returns" annotation (a la -> in Python)."""
def astext(self):
# type: () -> unicode
return ' -> ' + nodes.TextElement.astext(self)
return ' -> ' + super(desc_returns, self).astext()
class desc_name(nodes.Part, nodes.Inline, nodes.FixedTextElement):
@ -149,7 +149,7 @@ class desc_optional(nodes.Part, nodes.Inline, nodes.FixedTextElement):
def astext(self):
# type: () -> unicode
return '[' + nodes.TextElement.astext(self) + ']'
return '[' + super(desc_optional, self).astext() + ']'
class desc_annotation(nodes.Part, nodes.Inline, nodes.FixedTextElement):
@ -209,7 +209,7 @@ class math(nodes.math):
RemovedInSphinx30Warning, stacklevel=2)
return self.astext()
else:
return nodes.math.__getitem__(self, key)
return super(math, self).__getitem__(key)
class math_block(nodes.math_block):
@ -228,7 +228,7 @@ class math_block(nodes.math_block):
RemovedInSphinx30Warning, stacklevel=2)
return self.astext()
else:
return nodes.math_block.__getitem__(self, key)
return super(math_block, self).__getitem__(key)
class displaymath(math_block):

View File

@ -152,7 +152,7 @@ class EpubBuilder(StandaloneHTMLBuilder):
def init(self):
# type: () -> None
StandaloneHTMLBuilder.init(self)
super(EpubBuilder, self).init()
# the output files for epub must be .html only
self.out_suffix = '.xhtml'
self.link_suffix = '.xhtml'
@ -372,7 +372,7 @@ class EpubBuilder(StandaloneHTMLBuilder):
"""
self.fix_ids(doctree)
self.add_visible_links(doctree, self.config.epub_show_urls)
StandaloneHTMLBuilder.write_doc(self, docname, doctree)
super(EpubBuilder, self).write_doc(docname, doctree)
def fix_genindex(self, tree):
# type: (nodes.Node) -> None
@ -470,8 +470,8 @@ class EpubBuilder(StandaloneHTMLBuilder):
return
self.fix_genindex(addctx['genindexentries'])
addctx['doctype'] = self.doctype
StandaloneHTMLBuilder.handle_page(self, pagename, addctx, templatename,
outfilename, event_arg)
super(EpubBuilder, self).handle_page(pagename, addctx, templatename,
outfilename, event_arg)
def build_mimetype(self, outdir, outname):
# type: (unicode, unicode) -> None

View File

@ -63,7 +63,7 @@ class DevhelpBuilder(StandaloneHTMLBuilder):
def init(self):
# type: () -> None
StandaloneHTMLBuilder.init(self)
super(DevhelpBuilder, self).init()
self.out_suffix = '.html'
self.link_suffix = '.html'

View File

@ -121,7 +121,7 @@ class I18nBuilder(Builder):
def init(self):
# type: () -> None
Builder.init(self)
super(I18nBuilder, self).init()
self.env.set_versioning_method(self.versioning_method,
self.env.config.gettext_uuid)
self.tags = I18nTags()
@ -222,7 +222,7 @@ class MessageCatalogBuilder(I18nBuilder):
def init(self):
# type: () -> None
I18nBuilder.init(self)
super(MessageCatalogBuilder, self).init()
self.create_template_bridge()
self.templates.init(self)
@ -261,11 +261,11 @@ class MessageCatalogBuilder(I18nBuilder):
def build(self, docnames, summary=None, method='update'):
# type: (Iterable[unicode], unicode, unicode) -> None
self._extract_from_template()
I18nBuilder.build(self, docnames, summary, method)
super(MessageCatalogBuilder, self).build(docnames, summary, method)
def finish(self):
# type: () -> None
I18nBuilder.finish(self)
super(MessageCatalogBuilder, self).finish()
data = {
'version': self.config.version,
'copyright': self.config.copyright,

View File

@ -1213,7 +1213,7 @@ class DirectoryHTMLBuilder(StandaloneHTMLBuilder):
def prepare_writing(self, docnames):
# type: (Iterable[unicode]) -> None
StandaloneHTMLBuilder.prepare_writing(self, docnames)
super(DirectoryHTMLBuilder, self).prepare_writing(docnames)
self.globalcontext['no_search_suffix'] = True
@ -1477,7 +1477,7 @@ class SerializingHTMLBuilder(StandaloneHTMLBuilder):
self.dump_context(self.globalcontext, outfilename)
# super here to dump the search index
StandaloneHTMLBuilder.handle_finish(self)
super(SerializingHTMLBuilder, self).handle_finish()
# copy the environment file from the doctree dir to the output dir
# as needed by the web app
@ -1525,10 +1525,6 @@ class JSONHTMLBuilder(SerializingHTMLBuilder):
globalcontext_filename = 'globalcontext.json'
searchindex_filename = 'searchindex.json'
def init(self):
# type: () -> None
SerializingHTMLBuilder.init(self)
def convert_html_css_files(app, config):
# type: (Sphinx, Config) -> None

View File

@ -200,7 +200,7 @@ class HTMLHelpBuilder(StandaloneHTMLBuilder):
# the output files for HTML help is .html by default
self.out_suffix = '.html'
self.link_suffix = '.html'
StandaloneHTMLBuilder.init(self)
super(HTMLHelpBuilder, self).init()
# determine the correct locale setting
locale = chm_locales.get(self.config.language)
if locale is not None:
@ -227,7 +227,7 @@ class HTMLHelpBuilder(StandaloneHTMLBuilder):
if node.get('internal') is None and 'refuri' in node:
node['target'] = '_blank'
StandaloneHTMLBuilder.write_doc(self, docname, doctree)
super(HTMLHelpBuilder, self).write_doc(docname, doctree)
def build_hhx(self, outdir, outname):
# type: (unicode, unicode) -> None

View File

@ -79,7 +79,7 @@ class QtHelpBuilder(StandaloneHTMLBuilder):
def init(self):
# type: () -> None
StandaloneHTMLBuilder.init(self)
super(QtHelpBuilder, self).init()
# the output files for HTML help must be .html only
self.out_suffix = '.html'
self.link_suffix = '.html'

View File

@ -63,7 +63,7 @@ class HighlightLang(Highlight):
warnings.warn('highlightlang directive is deprecated. '
'Please use highlight directive instead.',
RemovedInSphinx40Warning, stacklevel=2)
return Highlight.run(self)
return super(HighlightLang, self).run()
def dedent_lines(lines, dedent, location=None):

View File

@ -383,11 +383,11 @@ class Include(BaseInclude, SphinxDirective):
if self.arguments[0].startswith('<') and \
self.arguments[0].endswith('>'):
# docutils "standard" includes, do not do path processing
return BaseInclude.run(self)
return super(Include, self).run()
rel_filename, filename = self.env.relfn2path(self.arguments[0])
self.arguments[0] = filename
self.env.note_included(filename)
return BaseInclude.run(self)
return super(Include, self).run()
def setup(app):

View File

@ -33,7 +33,7 @@ class Figure(images.Figure):
def run(self):
# type: () -> List[nodes.Node]
name = self.options.pop('name', None)
result = images.Figure.run(self)
result = super(Figure, self).run()
if len(result) == 2 or isinstance(result[0], nodes.system_message):
return result
@ -55,7 +55,7 @@ class Figure(images.Figure):
class Meta(html.Meta, SphinxDirective):
def run(self):
# type: () -> List[nodes.Node]
result = html.Meta.run(self)
result = super(Meta, self).run()
for node in result:
if (isinstance(node, nodes.pending) and
isinstance(node.details['nodes'][0], html.MetaBody.meta)):
@ -77,7 +77,7 @@ class RSTTable(tables.RSTTable):
def make_title(self):
# type: () -> Tuple[nodes.title, List[nodes.system_message]]
title, message = tables.RSTTable.make_title(self)
title, message = super(RSTTable, self).make_title()
if title:
set_source_info(self, title)
@ -91,7 +91,7 @@ class CSVTable(tables.CSVTable):
def make_title(self):
# type: () -> Tuple[nodes.title, List[nodes.system_message]]
title, message = tables.CSVTable.make_title(self)
title, message = super(CSVTable, self).make_title()
if title:
set_source_info(self, title)
@ -105,7 +105,7 @@ class ListTable(tables.ListTable):
def make_title(self):
# type: () -> Tuple[nodes.title, List[nodes.system_message]]
title, message = tables.ListTable.make_title(self)
title, message = super(ListTable, self).make_title()
if title:
set_source_info(self, title)

View File

@ -245,7 +245,7 @@ class Domain:
def run(self):
# type: () -> List[nodes.Node]
self.name = fullname
return BaseDirective.run(self)
return super(DirectiveAdapter, self).run()
self._directive_cache[name] = DirectiveAdapter
return DirectiveAdapter

View File

@ -3619,7 +3619,7 @@ class Symbol:
if key == "children":
assert False
else:
return object.__setattr__(self, key, value)
return super(Symbol, self).__setattr__(key, value)
def __init__(self,
parent, # type: Symbol
@ -6312,7 +6312,7 @@ class CPPObject(ObjectDescription):
symbol = parentSymbol.add_name(name)
env.temp_data['cpp:last_symbol'] = symbol
return []
return ObjectDescription.run(self)
return super(CPPObject, self).run()
def handle_signature(self, sig, signode):
# type: (unicode, addnodes.desc_signature) -> Any

View File

@ -559,7 +559,7 @@ class PyDecoratorFunction(PyDecoratorMixin, PyModulelevel):
# type: () -> List[nodes.Node]
# a decorator function is a function after all
self.name = 'py:function'
return PyModulelevel.run(self)
return super(PyDecoratorFunction, self).run()
class PyDecoratorMethod(PyDecoratorMixin, PyClassmember):
@ -569,7 +569,7 @@ class PyDecoratorMethod(PyDecoratorMixin, PyClassmember):
def run(self):
# type: () -> List[nodes.Node]
self.name = 'py:method'
return PyClassmember.run(self)
return super(PyDecoratorMethod, self).run()
class PyModule(SphinxDirective):

View File

@ -802,7 +802,7 @@ class ModuleDocumenter(Documenter):
def parse_name(self):
# type: () -> bool
ret = Documenter.parse_name(self)
ret = super(ModuleDocumenter, self).parse_name()
if self.args or self.retann:
logger.warning(__('signature arguments or return annotation '
'given for automodule %s') % self.fullname,
@ -964,7 +964,7 @@ class DocstringSignatureMixin:
lines = getattr(self, '_new_docstrings', None)
if lines is not None:
return lines
return Documenter.get_doc(self, None, ignore) # type: ignore
return super(DocstringSignatureMixin, self).get_doc(None, ignore) # type: ignore
def format_signature(self):
# type: () -> unicode
@ -974,7 +974,7 @@ class DocstringSignatureMixin:
result = self._find_signature()
if result is not None:
self.args, self.retann = result
return Documenter.format_signature(self) # type: ignore
return super(DocstringSignatureMixin, self).format_signature() # type: ignore
class DocstringStripSignatureMixin(DocstringSignatureMixin):
@ -993,7 +993,7 @@ class DocstringStripSignatureMixin(DocstringSignatureMixin):
# DocstringSignatureMixin.format_signature.
# Documenter.format_signature use self.args value to format.
_args, self.retann = result
return Documenter.format_signature(self) # type: ignore
return super(DocstringStripSignatureMixin, self).format_signature()
class FunctionDocumenter(DocstringSignatureMixin, ModuleLevelDocumenter): # type: ignore
@ -1071,7 +1071,7 @@ class ClassDocumenter(DocstringSignatureMixin, ModuleLevelDocumenter): # type:
def import_object(self):
# type: () -> Any
ret = ModuleLevelDocumenter.import_object(self)
ret = super(ClassDocumenter, self).import_object()
# if the class is documented under another name, document it
# as data/attribute
if ret:
@ -1103,13 +1103,13 @@ class ClassDocumenter(DocstringSignatureMixin, ModuleLevelDocumenter): # type:
if self.doc_as_attr:
return ''
return DocstringSignatureMixin.format_signature(self)
return super(ClassDocumenter, self).format_signature()
def add_directive_header(self, sig):
# type: (unicode) -> None
if self.doc_as_attr:
self.directivetype = 'attribute'
Documenter.add_directive_header(self, sig)
super(ClassDocumenter, self).add_directive_header(sig)
# add inheritance info, if wanted
if not self.doc_as_attr and self.options.show_inheritance:
@ -1179,16 +1179,15 @@ class ClassDocumenter(DocstringSignatureMixin, ModuleLevelDocumenter): # type:
classname = str(module) + u'.' + str(classname)
content = ViewList(
[_('alias of :class:`%s`') % classname], source='')
ModuleLevelDocumenter.add_content(self, content,
no_docstring=True)
super(ClassDocumenter, self).add_content(content, no_docstring=True)
else:
ModuleLevelDocumenter.add_content(self, more_content)
super(ClassDocumenter, self).add_content(more_content)
def document_members(self, all_members=False):
# type: (bool) -> None
if self.doc_as_attr:
return
ModuleLevelDocumenter.document_members(self, all_members)
super(ClassDocumenter, self).document_members(all_members)
def generate(self, more_content=None, real_modname=None,
check_module=False, all_members=False):
@ -1236,7 +1235,7 @@ class DataDocumenter(ModuleLevelDocumenter):
def add_directive_header(self, sig):
# type: (unicode) -> None
ModuleLevelDocumenter.add_directive_header(self, sig)
super(DataDocumenter, self).add_directive_header(sig)
sourcename = self.get_sourcename()
if not self.options.annotation:
try:
@ -1277,7 +1276,7 @@ class MethodDocumenter(DocstringSignatureMixin, ClassLevelDocumenter): # type:
def import_object(self):
# type: () -> Any
ret = ClassLevelDocumenter.import_object(self)
ret = super(MethodDocumenter, self).import_object()
if not ret:
return ret
@ -1355,7 +1354,7 @@ class AttributeDocumenter(DocstringStripSignatureMixin, ClassLevelDocumenter):
def import_object(self):
# type: () -> Any
ret = ClassLevelDocumenter.import_object(self)
ret = super(AttributeDocumenter, self).import_object()
if isenumattribute(self.object):
self.object = self.object.value
if isdescriptor(self.object) and \
@ -1373,7 +1372,7 @@ class AttributeDocumenter(DocstringStripSignatureMixin, ClassLevelDocumenter):
def add_directive_header(self, sig):
# type: (unicode) -> None
ClassLevelDocumenter.add_directive_header(self, sig)
super(AttributeDocumenter, self).add_directive_header(sig)
sourcename = self.get_sourcename()
if not self.options.annotation:
if not self._datadescriptor:
@ -1395,7 +1394,7 @@ class AttributeDocumenter(DocstringStripSignatureMixin, ClassLevelDocumenter):
# if it's not a data descriptor, its docstring is very probably the
# wrong thing to display
no_docstring = True
ClassLevelDocumenter.add_content(self, more_content, no_docstring)
super(AttributeDocumenter, self).add_content(more_content, no_docstring)
class InstanceAttributeDocumenter(AttributeDocumenter):
@ -1427,7 +1426,7 @@ class InstanceAttributeDocumenter(AttributeDocumenter):
def add_content(self, more_content, no_docstring=False):
# type: (Any, bool) -> None
"""Never try to get a docstring from the object."""
AttributeDocumenter.add_content(self, more_content, no_docstring=True)
super(InstanceAttributeDocumenter, self).add_content(more_content, no_docstring=True)
def get_documenters(app):

View File

@ -254,7 +254,7 @@ class SphinxDocTestRunner(doctest.DocTestRunner):
old_stdout = sys.stdout
sys.stdout = string_io
try:
res = doctest.DocTestRunner.summarize(self, verbose)
res = super(SphinxDocTestRunner, self).summarize(verbose)
finally:
sys.stdout = old_stdout
out(string_io.getvalue())

View File

@ -73,14 +73,14 @@ class SphinxBaseReader(standalone.Reader):
def get_transforms(self):
# type: () -> List[Type[Transform]]
return standalone.Reader.get_transforms(self) + self.transforms
return super(SphinxBaseReader, self).get_transforms() + self.transforms
def new_document(self):
# type: () -> nodes.document
"""Creates a new document object which having a special reporter object good
for logging.
"""
document = standalone.Reader.new_document(self)
document = super(SphinxBaseReader, self).new_document()
# substitute transformer
document.transformer = SphinxTransformer(document)
@ -187,7 +187,7 @@ class SphinxBaseFileInput(FileInput):
After reading, it emits Sphinx event ``source-read``.
"""
data = FileInput.read(self)
data = super(SphinxBaseFileInput, self).read()
# emit source-read event
arg = [data]
@ -254,7 +254,7 @@ class SphinxRSTFileInput(SphinxBaseFileInput):
def read(self):
# type: () -> StringList
inputstring = SphinxBaseFileInput.read(self)
inputstring = super(SphinxRSTFileInput, self).read()
lines = string2lines(inputstring, convert_whitespace=True)
content = StringList()
for lineno, line in enumerate(lines):

View File

@ -66,7 +66,7 @@ class RSTParser(docutils.parsers.rst.Parser):
"""Sphinx's reST parser replaces a transform class for smart-quotes by own's
refs: sphinx.io.SphinxStandaloneReader"""
transforms = docutils.parsers.rst.Parser.get_transforms(self)
transforms = super(RSTParser, self).get_transforms()
transforms.remove(SmartQuotes)
return transforms
@ -88,7 +88,7 @@ class RSTParser(docutils.parsers.rst.Parser):
self.finish_parse()
else:
# otherwise, inputstring might be a string. It will be handled by superclass.
docutils.parsers.rst.Parser.parse(self, inputstring, document)
super(RSTParser, self).parse(inputstring, document)
def setup(app):

View File

@ -173,8 +173,8 @@ class XRefRole:
class AnyXRefRole(XRefRole):
def process_link(self, env, refnode, has_explicit_title, title, target):
# type: (BuildEnvironment, nodes.reference, bool, unicode, unicode) -> Tuple[unicode, unicode] # NOQA
result = XRefRole.process_link(self, env, refnode, has_explicit_title,
title, target)
result = super(AnyXRefRole, self).process_link(env, refnode, has_explicit_title,
title, target)
# add all possible context info (i.e. std:program, py:module etc.)
refnode.attributes.update(env.ref_context)
return result

View File

@ -88,7 +88,7 @@ class SphinxTransformer(Transformer):
if not hasattr(self.document.settings, 'env') and self.env:
self.document.settings.env = self.env
Transformer.apply_transforms(self)
super(SphinxTransformer, self).apply_transforms()
else:
# wrap the target node by document node during transforming
try:
@ -97,7 +97,7 @@ class SphinxTransformer(Transformer):
document.settings.env = self.env
document += self.document
self.document = document
Transformer.apply_transforms(self)
super(SphinxTransformer, self).apply_transforms()
finally:
self.document = self.document[0]
@ -351,7 +351,7 @@ class SphinxSmartQuotes(SmartQuotes, SphinxTransform):
if not self.is_available():
return
SmartQuotes.apply(self)
super(SphinxSmartQuotes, self).apply()
def is_available(self):
# type: () -> bool

View File

@ -319,7 +319,7 @@ class SphinxFileOutput(FileOutput):
if f.read() == data:
return data
return FileOutput.write(self, data)
return super(SphinxFileOutput, self).write(data)
class SphinxDirective(Directive):

View File

@ -38,13 +38,13 @@ class PyStemmer(BaseStemmer):
return self.stemmer.stemWord(word)
class StandardStemmer(BaseStemmer, PorterStemmer): # type: ignore
class StandardStemmer(PorterStemmer, BaseStemmer): # type: ignore
"""All those porter stemmer implementations look hideous;
make at least the stem method nicer.
"""
def stem(self, word): # type: ignore
# type: (unicode) -> unicode
return PorterStemmer.stem(self, word, 0, len(word) - 1)
return super(StandardStemmer, self).stem(word, 0, len(word) - 1)
def get_stemmer():

View File

@ -376,18 +376,18 @@ class HTMLTranslator(BaseTranslator):
# avoid emitting empty <ul></ul>
raise nodes.SkipNode
self.generate_targets_for_listing(node)
BaseTranslator.visit_bullet_list(self, node)
super(HTMLTranslator, self).visit_bullet_list(node)
# overwritten
def visit_enumerated_list(self, node):
# type: (nodes.enumerated_list) -> None
self.generate_targets_for_listing(node)
BaseTranslator.visit_enumerated_list(self, node)
super(HTMLTranslator, self).visit_enumerated_list(node)
# overwritten
def visit_title(self, node):
# type: (nodes.title) -> None
BaseTranslator.visit_title(self, node)
super(HTMLTranslator, self).visit_title(node)
self.add_secnumber(node)
self.add_fignumber(node.parent)
if isinstance(node.parent, nodes.table):
@ -413,14 +413,14 @@ class HTMLTranslator(BaseTranslator):
elif isinstance(node.parent, nodes.table):
self.body.append('</span>')
BaseTranslator.depart_title(self, node)
super(HTMLTranslator, self).depart_title(node)
# overwritten
def visit_literal_block(self, node):
# type: (nodes.literal_block) -> None
if node.rawsource != node.astext():
# most probably a parsed-literal block -- don't highlight
return BaseTranslator.visit_literal_block(self, node)
return super(HTMLTranslator, self).visit_literal_block(node)
lang = node.get('language', 'default')
linenos = node.get('linenos', False)
@ -446,7 +446,7 @@ class HTMLTranslator(BaseTranslator):
if isinstance(node.parent, nodes.container) and node.parent.get('literal_block'):
self.body.append('<div class="code-block-caption">')
else:
BaseTranslator.visit_caption(self, node)
super(HTMLTranslator, self).visit_caption(node)
self.add_fignumber(node.parent)
self.body.append(self.starttag(node, 'span', '', CLASS='caption-text'))
@ -467,7 +467,7 @@ class HTMLTranslator(BaseTranslator):
if isinstance(node.parent, nodes.container) and node.parent.get('literal_block'):
self.body.append('</div>\n')
else:
BaseTranslator.depart_caption(self, node)
super(HTMLTranslator, self).depart_caption(node)
def visit_doctest_block(self, node):
# type: (nodes.doctest_block) -> None
@ -552,7 +552,7 @@ class HTMLTranslator(BaseTranslator):
if isinstance(node.parent, addnodes.versionmodified):
# Never compact versionmodified nodes.
return False
return BaseTranslator.should_be_compact_paragraph(self, node)
return super(HTMLTranslator, self).should_be_compact_paragraph(node)
def visit_compact_paragraph(self, node):
# type: (addnodes.compact_paragraph) -> None
@ -626,7 +626,7 @@ class HTMLTranslator(BaseTranslator):
node['width'] = str(size[0])
if 'height' not in node:
node['height'] = str(size[1])
BaseTranslator.visit_image(self, node)
super(HTMLTranslator, self).visit_image(node)
# overwritten
def depart_image(self, node):
@ -634,7 +634,7 @@ class HTMLTranslator(BaseTranslator):
if node['uri'].lower().endswith(('svg', 'svgz')):
self.body.append(self.context.pop())
else:
BaseTranslator.depart_image(self, node)
super(HTMLTranslator, self).depart_image(node)
def visit_toctree(self, node):
# type: (addnodes.toctree) -> None
@ -684,7 +684,7 @@ class HTMLTranslator(BaseTranslator):
def visit_option_group(self, node):
# type: (nodes.option_group) -> None
BaseTranslator.visit_option_group(self, node)
super(HTMLTranslator, self).visit_option_group(node)
self.context[-2] = self.context[-2].replace('&nbsp;', '&#160;')
# overwritten
@ -827,7 +827,7 @@ class HTMLTranslator(BaseTranslator):
def visit_table(self, node):
# type: (nodes.table) -> None
self._table_row_index = 0
return BaseTranslator.visit_table(self, node)
return super(HTMLTranslator, self).visit_table(node)
def visit_row(self, node):
# type: (nodes.row) -> None
@ -841,14 +841,14 @@ class HTMLTranslator(BaseTranslator):
def visit_entry(self, node):
# type: (nodes.entry) -> None
BaseTranslator.visit_entry(self, node)
super(HTMLTranslator, self).visit_entry(node)
if self.body[-1] == '&nbsp;':
self.body[-1] = '&#160;'
def visit_field_list(self, node):
# type: (nodes.field_list) -> None
self._fieldlist_row_index = 0
return BaseTranslator.visit_field_list(self, node)
return super(HTMLTranslator, self).visit_field_list(node)
def visit_field(self, node):
# type: (nodes.field) -> None
@ -862,7 +862,7 @@ class HTMLTranslator(BaseTranslator):
def visit_field_name(self, node):
# type: (nodes.field_name) -> None
context_count = len(self.context)
BaseTranslator.visit_field_name(self, node)
super(HTMLTranslator, self).visit_field_name(node)
if context_count != len(self.context):
self.context[-1] = self.context[-1].replace('&nbsp;', '&#160;')

View File

@ -328,12 +328,12 @@ class HTML5Translator(BaseTranslator):
if len(node) == 1 and node[0].tagname == 'toctree':
# avoid emitting empty <ul></ul>
raise nodes.SkipNode
BaseTranslator.visit_bullet_list(self, node)
super(HTML5Translator, self).visit_bullet_list(node)
# overwritten
def visit_title(self, node):
# type: (nodes.title) -> None
BaseTranslator.visit_title(self, node)
super(HTML5Translator, self).visit_title(node)
self.add_secnumber(node)
self.add_fignumber(node.parent)
if isinstance(node.parent, nodes.table):
@ -359,14 +359,14 @@ class HTML5Translator(BaseTranslator):
elif isinstance(node.parent, nodes.table):
self.body.append('</span>')
BaseTranslator.depart_title(self, node)
super(HTML5Translator, self).depart_title(node)
# overwritten
def visit_literal_block(self, node):
# type: (nodes.literal_block) -> None
if node.rawsource != node.astext():
# most probably a parsed-literal block -- don't highlight
return BaseTranslator.visit_literal_block(self, node)
return super(HTML5Translator, self).visit_literal_block(node)
lang = node.get('language', 'default')
linenos = node.get('linenos', False)
@ -392,7 +392,7 @@ class HTML5Translator(BaseTranslator):
if isinstance(node.parent, nodes.container) and node.parent.get('literal_block'):
self.body.append('<div class="code-block-caption">')
else:
BaseTranslator.visit_caption(self, node)
super(HTML5Translator, self).visit_caption(node)
self.add_fignumber(node.parent)
self.body.append(self.starttag(node, 'span', '', CLASS='caption-text'))
@ -413,7 +413,7 @@ class HTML5Translator(BaseTranslator):
if isinstance(node.parent, nodes.container) and node.parent.get('literal_block'):
self.body.append('</div>\n')
else:
BaseTranslator.depart_caption(self, node)
super(HTML5Translator, self).depart_caption(node)
def visit_doctest_block(self, node):
# type: (nodes.doctest_block) -> None
@ -498,7 +498,7 @@ class HTML5Translator(BaseTranslator):
if isinstance(node.parent, addnodes.versionmodified):
# Never compact versionmodified nodes.
return False
return BaseTranslator.should_be_compact_paragraph(self, node)
return super(HTML5Translator, self).should_be_compact_paragraph(node)
def visit_compact_paragraph(self, node):
# type: (addnodes.compact_paragraph) -> None
@ -572,7 +572,7 @@ class HTML5Translator(BaseTranslator):
node['width'] = str(size[0])
if 'height' not in node:
node['height'] = str(size[1])
BaseTranslator.visit_image(self, node)
super(HTML5Translator, self).visit_image(node)
# overwritten
def depart_image(self, node):
@ -580,7 +580,7 @@ class HTML5Translator(BaseTranslator):
if node['uri'].lower().endswith(('svg', 'svgz')):
self.body.append(self.context.pop())
else:
BaseTranslator.depart_image(self, node)
super(HTML5Translator, self).depart_image(node)
def visit_toctree(self, node):
# type: (addnodes.toctree) -> None
@ -806,7 +806,7 @@ class HTML5Translator(BaseTranslator):
def visit_field_list(self, node):
# type: (nodes.field_list) -> None
self._fieldlist_row_index = 0
return BaseTranslator.visit_field_list(self, node)
return super(HTML5Translator, self).visit_field_list(node)
def visit_field(self, node):
# type: (nodes.field) -> None

View File

@ -248,7 +248,7 @@ class ManualPageTranslator(BaseTranslator):
if node.traverse(nodes.strong):
self.body.append('\n')
else:
BaseTranslator.visit_term(self, node)
super(ManualPageTranslator, self).visit_term(node)
# overwritten -- we don't want source comments to show up
def visit_comment(self, node):
@ -259,7 +259,7 @@ class ManualPageTranslator(BaseTranslator):
def visit_footnote(self, node):
# type: (nodes.footnote) -> None
self.ensure_eol()
BaseTranslator.visit_footnote(self, node)
super(ManualPageTranslator, self).visit_footnote(node)
# overwritten -- handle footnotes rubric
def visit_rubric(self, node):
@ -471,14 +471,14 @@ class ManualPageTranslator(BaseTranslator):
self.body.append('.SH %s\n' %
self.deunicode(node.astext().upper()))
raise nodes.SkipNode
return BaseTranslator.visit_title(self, node)
return super(ManualPageTranslator, self).visit_title(node)
def depart_title(self, node):
# type: (nodes.title) -> None
if isinstance(node.parent, addnodes.seealso):
self.body.append('"\n')
return
return BaseTranslator.depart_title(self, node)
return super(ManualPageTranslator, self).depart_title(node)
def visit_raw(self, node):
# type: (nodes.raw) -> None

View File

@ -333,7 +333,7 @@ class TextWrapper(textwrap.TextWrapper):
"""
def split(t):
# type: (unicode) -> List[unicode]
return textwrap.TextWrapper._split(self, t) # type: ignore
return super(TextWrapper, self)._split(t) # type: ignore
chunks = [] # type: List[unicode]
for chunk in split(text):
for w, g in groupby(chunk, column_width):

View File

@ -34,7 +34,7 @@ class XMLWriter(BaseXMLWriter):
self.builder.env.config.xml_pretty
self.document.settings.xml_declaration = True
self.document.settings.doctype_declaration = True
return BaseXMLWriter.translate(self)
return super(XMLWriter, self).translate()
class PseudoXMLWriter(writers.Writer):