diff --git a/sphinx/addnodes.py b/sphinx/addnodes.py index 7c8f2c9d0..f9e5bdea4 100644 --- a/sphinx/addnodes.py +++ b/sphinx/addnodes.py @@ -128,7 +128,7 @@ class desc_returns(desc_type): """Node for a "returns" annotation (a la -> in Python).""" def astext(self): # type: () -> str - return ' -> ' + super(desc_returns, self).astext() + return ' -> ' + super().astext() class desc_name(nodes.Part, nodes.Inline, nodes.FixedTextElement): @@ -150,7 +150,7 @@ class desc_optional(nodes.Part, nodes.Inline, nodes.FixedTextElement): def astext(self): # type: () -> str - return '[' + super(desc_optional, self).astext() + ']' + return '[' + super().astext() + ']' class desc_annotation(nodes.Part, nodes.Inline, nodes.FixedTextElement): @@ -210,7 +210,7 @@ class math(nodes.math): RemovedInSphinx30Warning, stacklevel=2) return self.astext() else: - return super(math, self).__getitem__(key) + return super().__getitem__(key) class math_block(nodes.math_block): @@ -229,7 +229,7 @@ class math_block(nodes.math_block): RemovedInSphinx30Warning, stacklevel=2) return self.astext() else: - return super(math_block, self).__getitem__(key) + return super().__getitem__(key) class displaymath(math_block): @@ -354,7 +354,7 @@ class abbreviation(nodes.abbreviation): warnings.warn("abbrevition node for Sphinx was replaced by docutils'.", RemovedInSphinx40Warning, stacklevel=2) - super(abbreviation, self).__init__(rawsource, text, *children, **attributes) + super().__init__(rawsource, text, *children, **attributes) class manpage(nodes.Inline, nodes.FixedTextElement): diff --git a/sphinx/builders/_epub_base.py b/sphinx/builders/_epub_base.py index 4e1794179..7c0b03600 100644 --- a/sphinx/builders/_epub_base.py +++ b/sphinx/builders/_epub_base.py @@ -151,7 +151,7 @@ class EpubBuilder(StandaloneHTMLBuilder): def init(self): # type: () -> None - super(EpubBuilder, self).init() + super().init() # the output files for epub must be .html only self.out_suffix = '.xhtml' self.link_suffix = '.xhtml' @@ -373,7 +373,7 @@ class EpubBuilder(StandaloneHTMLBuilder): """ self.fix_ids(doctree) self.add_visible_links(doctree, self.config.epub_show_urls) - super(EpubBuilder, self).write_doc(docname, doctree) + super().write_doc(docname, doctree) def fix_genindex(self, tree): # type: (List[Tuple[str, List[Tuple[str, Any]]]]) -> None @@ -448,11 +448,11 @@ class EpubBuilder(StandaloneHTMLBuilder): if self.config.epub_fix_images or self.config.epub_max_image_width: if not Image: logger.warning(__('PIL not found - copying image files')) - super(EpubBuilder, self).copy_image_files() + super().copy_image_files() else: self.copy_image_files_pil() else: - super(EpubBuilder, self).copy_image_files() + super().copy_image_files() def copy_download_files(self): # type: () -> None @@ -471,8 +471,7 @@ class EpubBuilder(StandaloneHTMLBuilder): return self.fix_genindex(addctx['genindexentries']) addctx['doctype'] = self.doctype - super(EpubBuilder, self).handle_page(pagename, addctx, templatename, - outfilename, event_arg) + super().handle_page(pagename, addctx, templatename, outfilename, event_arg) def build_mimetype(self, outdir, outname): # type: (str, str) -> None diff --git a/sphinx/builders/applehelp.py b/sphinx/builders/applehelp.py index db2d983a4..e8cf5b279 100644 --- a/sphinx/builders/applehelp.py +++ b/sphinx/builders/applehelp.py @@ -86,7 +86,7 @@ class AppleHelpBuilder(StandaloneHTMLBuilder): def init(self): # type: () -> None - super(AppleHelpBuilder, self).init() + super().init() # the output files for HTML help must be .html only self.out_suffix = '.html' self.link_suffix = '.html' @@ -105,7 +105,7 @@ class AppleHelpBuilder(StandaloneHTMLBuilder): def handle_finish(self): # type: () -> None - super(AppleHelpBuilder, self).handle_finish() + super().handle_finish() self.finish_tasks.add_task(self.copy_localized_files) self.finish_tasks.add_task(self.build_helpbook) diff --git a/sphinx/builders/devhelp.py b/sphinx/builders/devhelp.py index cb01667b9..13abf6b3b 100644 --- a/sphinx/builders/devhelp.py +++ b/sphinx/builders/devhelp.py @@ -62,7 +62,7 @@ class DevhelpBuilder(StandaloneHTMLBuilder): def init(self): # type: () -> None - super(DevhelpBuilder, self).init() + super().init() self.out_suffix = '.html' self.link_suffix = '.html' diff --git a/sphinx/builders/epub3.py b/sphinx/builders/epub3.py index a378bd981..e41d8f3cd 100644 --- a/sphinx/builders/epub3.py +++ b/sphinx/builders/epub3.py @@ -129,7 +129,7 @@ class Epub3Builder(_epub_base.EpubBuilder): """ writing_mode = self.config.epub_writing_mode - metadata = super(Epub3Builder, self).content_metadata() + metadata = super().content_metadata() metadata['description'] = self.esc(self.config.epub_description) metadata['contributor'] = self.esc(self.config.epub_contributor) metadata['page_progression_direction'] = PAGE_PROGRESSION_DIRECTIONS.get(writing_mode) @@ -141,7 +141,7 @@ class Epub3Builder(_epub_base.EpubBuilder): def prepare_writing(self, docnames): # type: (Set[str]) -> None - super(Epub3Builder, self).prepare_writing(docnames) + super().prepare_writing(docnames) writing_mode = self.config.epub_writing_mode self.globalcontext['theme_writing_mode'] = THEME_WRITING_MODES.get(writing_mode) diff --git a/sphinx/builders/gettext.py b/sphinx/builders/gettext.py index 7ff8d0d53..d4407b305 100644 --- a/sphinx/builders/gettext.py +++ b/sphinx/builders/gettext.py @@ -119,7 +119,7 @@ class I18nBuilder(Builder): def init(self): # type: () -> None - super(I18nBuilder, self).init() + super().init() self.env.set_versioning_method(self.versioning_method, self.env.config.gettext_uuid) self.tags = I18nTags() @@ -176,7 +176,7 @@ class LocalTimeZone(tzinfo): def __init__(self, *args, **kw): # type: (Any, Any) -> None - super(LocalTimeZone, self).__init__(*args, **kw) # type: ignore + super().__init__(*args, **kw) # type: ignore self.tzdelta = tzdelta def utcoffset(self, dt): @@ -219,7 +219,7 @@ class MessageCatalogBuilder(I18nBuilder): def init(self): # type: () -> None - super(MessageCatalogBuilder, self).init() + super().init() self.create_template_bridge() self.templates.init(self) @@ -258,11 +258,11 @@ class MessageCatalogBuilder(I18nBuilder): def build(self, docnames, summary=None, method='update'): # type: (Iterable[str], str, str) -> None self._extract_from_template() - super(MessageCatalogBuilder, self).build(docnames, summary, method) + super().build(docnames, summary, method) def finish(self): # type: () -> None - super(MessageCatalogBuilder, self).finish() + super().finish() data = { 'version': self.config.version, 'copyright': self.config.copyright, diff --git a/sphinx/builders/html.py b/sphinx/builders/html.py index 3c47ce7e2..6d09d17cb 100644 --- a/sphinx/builders/html.py +++ b/sphinx/builders/html.py @@ -122,7 +122,7 @@ class JSContainer(list): warnings.warn('builder.script_files is deprecated. ' 'Please use app.add_js_file() instead.', RemovedInSphinx30Warning, stacklevel=2) - super(JSContainer, self).insert(index, obj) + super().insert(index, obj) def extend(self, other): # type: ignore # type: (List[str]) -> None @@ -256,7 +256,7 @@ class StandaloneHTMLBuilder(Builder): def __init__(self, app): # type: (Sphinx) -> None - super(StandaloneHTMLBuilder, self).__init__(app) + super().__init__(app) # CSS files self.css_files = [] # type: List[Dict[str, str]] @@ -1211,7 +1211,7 @@ class DirectoryHTMLBuilder(StandaloneHTMLBuilder): def prepare_writing(self, docnames): # type: (Set[str]) -> None - super(DirectoryHTMLBuilder, self).prepare_writing(docnames) + super().prepare_writing(docnames) self.globalcontext['no_search_suffix'] = True @@ -1474,7 +1474,7 @@ class SerializingHTMLBuilder(StandaloneHTMLBuilder): self.dump_context(self.globalcontext, outfilename) # super here to dump the search index - super(SerializingHTMLBuilder, self).handle_finish() + super().handle_finish() # copy the environment file from the doctree dir to the output dir # as needed by the web app diff --git a/sphinx/builders/htmlhelp.py b/sphinx/builders/htmlhelp.py index c95b8f0a3..ee7c0efe8 100644 --- a/sphinx/builders/htmlhelp.py +++ b/sphinx/builders/htmlhelp.py @@ -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' - super(HTMLHelpBuilder, self).init() + super().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' - super(HTMLHelpBuilder, self).write_doc(docname, doctree) + super().write_doc(docname, doctree) def build_hhx(self, outdir, outname): # type: (str, str) -> None diff --git a/sphinx/builders/latex/transforms.py b/sphinx/builders/latex/transforms.py index c3bc50fe3..a339f89ab 100644 --- a/sphinx/builders/latex/transforms.py +++ b/sphinx/builders/latex/transforms.py @@ -155,7 +155,7 @@ class FootnoteCollector(nodes.NodeVisitor): self.auto_footnotes = [] # type: List[nodes.footnote] self.used_footnote_numbers = set() # type: Set[str] self.footnote_refs = [] # type: List[nodes.footnote_reference] - super(FootnoteCollector, self).__init__(document) + super().__init__(document) def unknown_visit(self, node): # type: (nodes.Node) -> None @@ -365,7 +365,7 @@ class LaTeXFootnoteVisitor(nodes.NodeVisitor): self.pendings = [] # type: List[nodes.footnote] self.table_footnotes = [] # type: List[nodes.footnote] self.restricted = None # type: nodes.Element - super(LaTeXFootnoteVisitor, self).__init__(document) + super().__init__(document) def unknown_visit(self, node): # type: (nodes.Node) -> None diff --git a/sphinx/builders/linkcheck.py b/sphinx/builders/linkcheck.py index 911c58c12..dc522dc07 100644 --- a/sphinx/builders/linkcheck.py +++ b/sphinx/builders/linkcheck.py @@ -44,7 +44,7 @@ class AnchorCheckParser(HTMLParser): def __init__(self, search_anchor): # type: (str) -> None - super(AnchorCheckParser, self).__init__() + super().__init__() self.search_anchor = search_anchor self.found = False diff --git a/sphinx/builders/qthelp.py b/sphinx/builders/qthelp.py index d28f615e9..bc421dcf5 100644 --- a/sphinx/builders/qthelp.py +++ b/sphinx/builders/qthelp.py @@ -80,7 +80,7 @@ class QtHelpBuilder(StandaloneHTMLBuilder): def init(self): # type: () -> None - super(QtHelpBuilder, self).init() + super().init() # the output files for HTML help must be .html only self.out_suffix = '.html' self.link_suffix = '.html' diff --git a/sphinx/cmd/quickstart.py b/sphinx/cmd/quickstart.py index ce66f7352..21220a22b 100644 --- a/sphinx/cmd/quickstart.py +++ b/sphinx/cmd/quickstart.py @@ -216,7 +216,7 @@ class QuickstartRenderer(SphinxRenderer): def __init__(self, templatedir): # type: (str) -> None self.templatedir = templatedir or '' - super(QuickstartRenderer, self).__init__() + super().__init__() def render(self, template_name, context): # type: (str, Dict) -> str @@ -224,7 +224,7 @@ class QuickstartRenderer(SphinxRenderer): if self.templatedir and path.exists(user_template): return self.render_from_file(user_template, context) else: - return super(QuickstartRenderer, self).render(template_name, context) + return super().render(template_name, context) def ask_user(d): diff --git a/sphinx/deprecation.py b/sphinx/deprecation.py index ce84f56f5..7d683cacc 100644 --- a/sphinx/deprecation.py +++ b/sphinx/deprecation.py @@ -34,29 +34,29 @@ class DeprecatedDict(dict): # type: (Dict, str, Type[Warning]) -> None self.message = message self.warning = warning - super(DeprecatedDict, self).__init__(data) + super().__init__(data) def __setitem__(self, key, value): # type: (str, Any) -> None warnings.warn(self.message, self.warning, stacklevel=2) - super(DeprecatedDict, self).__setitem__(key, value) + super().__setitem__(key, value) def setdefault(self, key, default=None): # type: (str, Any) -> None warnings.warn(self.message, self.warning, stacklevel=2) - return super(DeprecatedDict, self).setdefault(key, default) + return super().setdefault(key, default) def __getitem__(self, key): # type: (str) -> None warnings.warn(self.message, self.warning, stacklevel=2) - return super(DeprecatedDict, self).__getitem__(key) + return super().__getitem__(key) def get(self, key, default=None): # type: (str, Any) -> None warnings.warn(self.message, self.warning, stacklevel=2) - return super(DeprecatedDict, self).get(key, default) + return super().get(key, default) def update(self, other=None): # type: ignore # type: (Dict) -> None warnings.warn(self.message, self.warning, stacklevel=2) - super(DeprecatedDict, self).update(other) + super().update(other) diff --git a/sphinx/directives/code.py b/sphinx/directives/code.py index 05dafb623..554947160 100644 --- a/sphinx/directives/code.py +++ b/sphinx/directives/code.py @@ -62,7 +62,7 @@ class HighlightLang(Highlight): warnings.warn('highlightlang directive is deprecated. ' 'Please use highlight directive instead.', RemovedInSphinx40Warning, stacklevel=2) - return super(HighlightLang, self).run() + return super().run() def dedent_lines(lines, dedent, location=None): diff --git a/sphinx/directives/other.py b/sphinx/directives/other.py index 89fdd4df5..c6d36d8f2 100644 --- a/sphinx/directives/other.py +++ b/sphinx/directives/other.py @@ -387,11 +387,11 @@ class Include(BaseInclude, SphinxDirective): if self.arguments[0].startswith('<') and \ self.arguments[0].endswith('>'): # docutils "standard" includes, do not do path processing - return super(Include, self).run() + return super().run() rel_filename, filename = self.env.relfn2path(self.arguments[0]) self.arguments[0] = filename self.env.note_included(filename) - return super(Include, self).run() + return super().run() def setup(app): diff --git a/sphinx/directives/patches.py b/sphinx/directives/patches.py index 7992d30d9..9413c9385 100644 --- a/sphinx/directives/patches.py +++ b/sphinx/directives/patches.py @@ -32,7 +32,7 @@ class Figure(images.Figure): def run(self): # type: () -> List[nodes.Node] name = self.options.pop('name', None) - result = super(Figure, self).run() + result = super().run() if len(result) == 2 or isinstance(result[0], nodes.system_message): return result @@ -54,7 +54,7 @@ class Figure(images.Figure): class Meta(html.Meta, SphinxDirective): def run(self): # type: () -> List[nodes.Node] - result = super(Meta, self).run() + result = super().run() for node in result: if (isinstance(node, nodes.pending) and isinstance(node.details['nodes'][0], html.MetaBody.meta)): @@ -76,7 +76,7 @@ class RSTTable(tables.RSTTable): def make_title(self): # type: () -> Tuple[nodes.title, List[nodes.system_message]] - title, message = super(RSTTable, self).make_title() + title, message = super().make_title() if title: set_source_info(self, title) @@ -90,7 +90,7 @@ class CSVTable(tables.CSVTable): def make_title(self): # type: () -> Tuple[nodes.title, List[nodes.system_message]] - title, message = super(CSVTable, self).make_title() + title, message = super().make_title() if title: set_source_info(self, title) @@ -104,7 +104,7 @@ class ListTable(tables.ListTable): def make_title(self): # type: () -> Tuple[nodes.title, List[nodes.system_message]] - title, message = super(ListTable, self).make_title() + title, message = super().make_title() if title: set_source_info(self, title) diff --git a/sphinx/domains/__init__.py b/sphinx/domains/__init__.py index 5c7965d40..d1d4dcdd5 100644 --- a/sphinx/domains/__init__.py +++ b/sphinx/domains/__init__.py @@ -245,7 +245,7 @@ class Domain: def run(self): # type: () -> List[nodes.Node] self.name = fullname - return super(DirectiveAdapter, self).run() + return super().run() self._directive_cache[name] = DirectiveAdapter return DirectiveAdapter diff --git a/sphinx/domains/cpp.py b/sphinx/domains/cpp.py index 8269258b9..31329c96d 100644 --- a/sphinx/domains/cpp.py +++ b/sphinx/domains/cpp.py @@ -3736,7 +3736,7 @@ class Symbol: if key == "children": assert False else: - return super(Symbol, self).__setattr__(key, value) + return super().__setattr__(key, value) def __init__(self, parent, # type: Symbol @@ -6432,7 +6432,7 @@ class CPPObject(ObjectDescription): symbol = parentSymbol.add_name(name) env.temp_data['cpp:last_symbol'] = symbol return [] - return super(CPPObject, self).run() + return super().run() def handle_signature(self, sig, signode): # type: (str, addnodes.desc_signature) -> Any diff --git a/sphinx/domains/python.py b/sphinx/domains/python.py index c0df50979..a59bd9260 100644 --- a/sphinx/domains/python.py +++ b/sphinx/domains/python.py @@ -125,8 +125,8 @@ class PyXrefMixin: env=None, # type: BuildEnvironment ): # type: (...) -> nodes.Node - result = super(PyXrefMixin, self).make_xref(rolename, domain, target, # type: ignore - innernode, contnode, env) + result = super().make_xref(rolename, domain, target, # type: ignore + innernode, contnode, env) result['refspecific'] = True if target.startswith(('.', '~')): prefix, result['reftarget'] = target[0], target[1:] @@ -176,8 +176,7 @@ class PyField(PyXrefMixin, Field): # None is not a type, so use obj role instead. rolename = 'obj' - return super(PyField, self).make_xref(rolename, domain, target, - innernode, contnode, env) + return super().make_xref(rolename, domain, target, innernode, contnode, env) class PyGroupedField(PyXrefMixin, GroupedField): @@ -192,8 +191,7 @@ class PyTypedField(PyXrefMixin, TypedField): # None is not a type, so use obj role instead. rolename = 'obj' - return super(PyTypedField, self).make_xref(rolename, domain, target, - innernode, contnode, env) + return super().make_xref(rolename, domain, target, innernode, contnode, env) class PyObject(ObjectDescription): @@ -543,7 +541,7 @@ class PyDecoratorMixin: """ def handle_signature(self, sig, signode): # type: (str, addnodes.desc_signature) -> Tuple[str, str] - ret = super(PyDecoratorMixin, self).handle_signature(sig, signode) # type: ignore + ret = super().handle_signature(sig, signode) # type: ignore signode.insert(0, addnodes.desc_addname('@', '@')) return ret @@ -560,7 +558,7 @@ class PyDecoratorFunction(PyDecoratorMixin, PyModulelevel): # type: () -> List[nodes.Node] # a decorator function is a function after all self.name = 'py:function' - return super(PyDecoratorFunction, self).run() + return super().run() class PyDecoratorMethod(PyDecoratorMixin, PyClassmember): @@ -570,7 +568,7 @@ class PyDecoratorMethod(PyDecoratorMixin, PyClassmember): def run(self): # type: () -> List[nodes.Node] self.name = 'py:method' - return super(PyDecoratorMethod, self).run() + return super().run() class PyModule(SphinxDirective): diff --git a/sphinx/domains/std.py b/sphinx/domains/std.py index 12d0dfa1b..5d40dc914 100644 --- a/sphinx/domains/std.py +++ b/sphinx/domains/std.py @@ -529,7 +529,7 @@ class StandardDomain(Domain): def __init__(self, env): # type: (BuildEnvironment) -> None - super(StandardDomain, self).__init__(env) + super().__init__(env) # set up enumerable nodes self.enumerable_nodes = copy(self.enumerable_nodes) # create a copy for this instance diff --git a/sphinx/errors.py b/sphinx/errors.py index df858fa87..b910c529f 100644 --- a/sphinx/errors.py +++ b/sphinx/errors.py @@ -54,7 +54,7 @@ class ExtensionError(SphinxError): def __init__(self, message, orig_exc=None): # type: (str, Exception) -> None - super(ExtensionError, self).__init__(message) + super().__init__(message) self.message = message self.orig_exc = orig_exc @@ -67,7 +67,7 @@ class ExtensionError(SphinxError): def __str__(self): # type: () -> str - parent_str = super(ExtensionError, self).__str__() + parent_str = super().__str__() if self.orig_exc: return '%s (exception: %s)' % (parent_str, self.orig_exc) return parent_str diff --git a/sphinx/ext/autodoc/__init__.py b/sphinx/ext/autodoc/__init__.py index 45be2ab10..480e92788 100644 --- a/sphinx/ext/autodoc/__init__.py +++ b/sphinx/ext/autodoc/__init__.py @@ -782,7 +782,7 @@ class ModuleDocumenter(Documenter): def __init__(self, *args): # type: (Any) -> None - super(ModuleDocumenter, self).__init__(*args) + super().__init__(*args) merge_special_members_option(self.options) @classmethod @@ -800,7 +800,7 @@ class ModuleDocumenter(Documenter): def parse_name(self): # type: () -> bool - ret = super(ModuleDocumenter, self).parse_name() + ret = super().parse_name() if self.args or self.retann: logger.warning(__('signature arguments or return annotation ' 'given for automodule %s') % self.fullname, @@ -962,7 +962,7 @@ class DocstringSignatureMixin: lines = getattr(self, '_new_docstrings', None) if lines is not None: return lines - return super(DocstringSignatureMixin, self).get_doc(None, ignore) # type: ignore + return super().get_doc(None, ignore) # type: ignore def format_signature(self): # type: () -> str @@ -972,7 +972,7 @@ class DocstringSignatureMixin: result = self._find_signature() if result is not None: self.args, self.retann = result - return super(DocstringSignatureMixin, self).format_signature() # type: ignore + return super().format_signature() # type: ignore class DocstringStripSignatureMixin(DocstringSignatureMixin): @@ -991,7 +991,7 @@ class DocstringStripSignatureMixin(DocstringSignatureMixin): # DocstringSignatureMixin.format_signature. # Documenter.format_signature use self.args value to format. _args, self.retann = result - return super(DocstringStripSignatureMixin, self).format_signature() + return super().format_signature() class FunctionDocumenter(DocstringSignatureMixin, ModuleLevelDocumenter): # type: ignore @@ -1059,7 +1059,7 @@ class ClassDocumenter(DocstringSignatureMixin, ModuleLevelDocumenter): # type: def __init__(self, *args): # type: (Any) -> None - super(ClassDocumenter, self).__init__(*args) + super().__init__(*args) merge_special_members_option(self.options) @classmethod @@ -1069,7 +1069,7 @@ class ClassDocumenter(DocstringSignatureMixin, ModuleLevelDocumenter): # type: def import_object(self): # type: () -> Any - ret = super(ClassDocumenter, self).import_object() + ret = super().import_object() # if the class is documented under another name, document it # as data/attribute if ret: @@ -1101,13 +1101,13 @@ class ClassDocumenter(DocstringSignatureMixin, ModuleLevelDocumenter): # type: if self.doc_as_attr: return '' - return super(ClassDocumenter, self).format_signature() + return super().format_signature() def add_directive_header(self, sig): # type: (str) -> None if self.doc_as_attr: self.directivetype = 'attribute' - super(ClassDocumenter, self).add_directive_header(sig) + super().add_directive_header(sig) # add inheritance info, if wanted if not self.doc_as_attr and self.options.show_inheritance: @@ -1176,15 +1176,15 @@ class ClassDocumenter(DocstringSignatureMixin, ModuleLevelDocumenter): # type: if module and module != parentmodule: classname = str(module) + u'.' + str(classname) content = StringList([_('alias of :class:`%s`') % classname], source='') - super(ClassDocumenter, self).add_content(content, no_docstring=True) + super().add_content(content, no_docstring=True) else: - super(ClassDocumenter, self).add_content(more_content) + super().add_content(more_content) def document_members(self, all_members=False): # type: (bool) -> None if self.doc_as_attr: return - super(ClassDocumenter, self).document_members(all_members) + super().document_members(all_members) def generate(self, more_content=None, real_modname=None, check_module=False, all_members=False): @@ -1194,9 +1194,9 @@ class ClassDocumenter(DocstringSignatureMixin, ModuleLevelDocumenter): # type: # If a class gets imported into the module real_modname # the analyzer won't find the source of the class, if # it looks in real_modname. - return super(ClassDocumenter, self).generate(more_content=more_content, - check_module=check_module, - all_members=all_members) + return super().generate(more_content=more_content, + check_module=check_module, + all_members=all_members) class ExceptionDocumenter(ClassDocumenter): @@ -1232,7 +1232,7 @@ class DataDocumenter(ModuleLevelDocumenter): def add_directive_header(self, sig): # type: (str) -> None - super(DataDocumenter, self).add_directive_header(sig) + super().add_directive_header(sig) sourcename = self.get_sourcename() if not self.options.annotation: try: @@ -1273,7 +1273,7 @@ class MethodDocumenter(DocstringSignatureMixin, ClassLevelDocumenter): # type: def import_object(self): # type: () -> Any - ret = super(MethodDocumenter, self).import_object() + ret = super().import_object() if not ret: return ret @@ -1351,7 +1351,7 @@ class AttributeDocumenter(DocstringStripSignatureMixin, ClassLevelDocumenter): def import_object(self): # type: () -> Any - ret = super(AttributeDocumenter, self).import_object() + ret = super().import_object() if isenumattribute(self.object): self.object = self.object.value if isdescriptor(self.object) and \ @@ -1369,7 +1369,7 @@ class AttributeDocumenter(DocstringStripSignatureMixin, ClassLevelDocumenter): def add_directive_header(self, sig): # type: (str) -> None - super(AttributeDocumenter, self).add_directive_header(sig) + super().add_directive_header(sig) sourcename = self.get_sourcename() if not self.options.annotation: if not self._datadescriptor: @@ -1391,7 +1391,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 - super(AttributeDocumenter, self).add_content(more_content, no_docstring) + super().add_content(more_content, no_docstring) class InstanceAttributeDocumenter(AttributeDocumenter): @@ -1423,7 +1423,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.""" - super(InstanceAttributeDocumenter, self).add_content(more_content, no_docstring=True) + super().add_content(more_content, no_docstring=True) def get_documenters(app): diff --git a/sphinx/ext/autodoc/importer.py b/sphinx/ext/autodoc/importer.py index 803d31b4a..42b70447f 100644 --- a/sphinx/ext/autodoc/importer.py +++ b/sphinx/ext/autodoc/importer.py @@ -83,7 +83,7 @@ class _MockModule(ModuleType): def __init__(self, name, loader=None): # type: (str, _MockImporter) -> None - super(_MockModule, self).__init__(name) + super().__init__(name) self.__all__ = [] # type: List[str] self.__path__ = [] # type: List[str] @@ -144,7 +144,7 @@ class MockLoader(Loader): """A loader for mocking.""" def __init__(self, finder): # type: (MockFinder) -> None - super(MockLoader, self).__init__() + super().__init__() self.finder = finder def create_module(self, spec): @@ -163,7 +163,7 @@ class MockFinder(MetaPathFinder): def __init__(self, modnames): # type: (List[str]) -> None - super(MockFinder, self).__init__() + super().__init__() self.modnames = modnames self.loader = MockLoader(self) self.mocked_modules = [] # type: List[str] diff --git a/sphinx/ext/autosummary/__init__.py b/sphinx/ext/autosummary/__init__.py index 4717f998b..945d9f454 100644 --- a/sphinx/ext/autosummary/__init__.py +++ b/sphinx/ext/autosummary/__init__.py @@ -177,7 +177,7 @@ _app = None # type: Sphinx class FakeDirective(DocumenterBridge): def __init__(self): # type: () -> None - super(FakeDirective, self).__init__({}, None, Options(), 0) # type: ignore + super().__init__({}, None, Options(), 0) # type: ignore def get_documenter(app, obj, parent): diff --git a/sphinx/ext/doctest.py b/sphinx/ext/doctest.py index cd2698d99..097550cd3 100644 --- a/sphinx/ext/doctest.py +++ b/sphinx/ext/doctest.py @@ -259,7 +259,7 @@ class SphinxDocTestRunner(doctest.DocTestRunner): old_stdout = sys.stdout sys.stdout = string_io try: - res = super(SphinxDocTestRunner, self).summarize(verbose) + res = super().summarize(verbose) finally: sys.stdout = old_stdout out(string_io.getvalue()) diff --git a/sphinx/ext/imgmath.py b/sphinx/ext/imgmath.py index 039ba1bc8..467529564 100644 --- a/sphinx/ext/imgmath.py +++ b/sphinx/ext/imgmath.py @@ -50,7 +50,7 @@ class MathExtError(SphinxError): msg += '\n[stderr]\n' + stderr.decode(sys_encoding, 'replace') if stdout: msg += '\n[stdout]\n' + stdout.decode(sys_encoding, 'replace') - super(MathExtError, self).__init__(msg) + super().__init__(msg) class InvokeError(SphinxError): diff --git a/sphinx/ext/mathbase.py b/sphinx/ext/mathbase.py index e5ed2d6db..2138b50ed 100644 --- a/sphinx/ext/mathbase.py +++ b/sphinx/ext/mathbase.py @@ -33,7 +33,7 @@ class MathDirective(MathDirectiveBase): warnings.warn('sphinx.ext.mathbase.MathDirective is moved to ' 'sphinx.directives.patches package.', RemovedInSphinx30Warning, stacklevel=2) - return super(MathDirective, self).run() + return super().run() def math_role(role, rawtext, text, lineno, inliner, options={}, content=[]): diff --git a/sphinx/ext/napoleon/docstring.py b/sphinx/ext/napoleon/docstring.py index 3f971aa75..10b42cb80 100644 --- a/sphinx/ext/napoleon/docstring.py +++ b/sphinx/ext/napoleon/docstring.py @@ -913,8 +913,7 @@ class NumpyDocstring(GoogleDocstring): obj=None, options=None): # type: (Union[str, List[str]], SphinxConfig, Sphinx, str, str, Any, Any) -> None self._directive_sections = ['.. index::'] - super(NumpyDocstring, self).__init__(docstring, config, app, what, - name, obj, options) + super().__init__(docstring, config, app, what, name, obj, options) def _consume_field(self, parse_type=True, prefer_type=False): # type: (bool, bool) -> Tuple[str, str, List[str]] diff --git a/sphinx/ext/napoleon/iterators.py b/sphinx/ext/napoleon/iterators.py index 0ad8038f3..7e1833c32 100644 --- a/sphinx/ext/napoleon/iterators.py +++ b/sphinx/ext/napoleon/iterators.py @@ -232,7 +232,7 @@ class modify_iter(peek_iter): if not callable(self.modifier): raise TypeError('modify_iter(o, modifier): ' 'modifier must be callable') - super(modify_iter, self).__init__(*args) + super().__init__(*args) def _fillcache(self, n): # type: (int) -> None diff --git a/sphinx/ext/todo.py b/sphinx/ext/todo.py index fb5f19e54..858c0bf2f 100644 --- a/sphinx/ext/todo.py +++ b/sphinx/ext/todo.py @@ -64,7 +64,7 @@ class Todo(BaseAdmonition, SphinxDirective): if not self.options.get('class'): self.options['class'] = ['admonition-todo'] - (todo,) = super(Todo, self).run() # type: Tuple[nodes.Node] + (todo,) = super().run() # type: Tuple[nodes.Node] if isinstance(todo, nodes.system_message): return [todo] elif isinstance(todo, todo_node): diff --git a/sphinx/io.py b/sphinx/io.py index d405081b1..1b326b804 100644 --- a/sphinx/io.py +++ b/sphinx/io.py @@ -65,18 +65,18 @@ class SphinxBaseReader(standalone.Reader): def __init__(self, app, *args, **kwargs): # type: (Sphinx, Any, Any) -> None self.env = app.env - super(SphinxBaseReader, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) def get_transforms(self): # type: () -> List[Type[Transform]] - return super(SphinxBaseReader, self).get_transforms() + self.transforms + return super().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 = super(SphinxBaseReader, self).new_document() + document = super().new_document() # substitute transformer document.transformer = SphinxTransformer(document) @@ -104,7 +104,7 @@ class SphinxStandaloneReader(SphinxBaseReader): def __init__(self, app, *args, **kwargs): # type: (Sphinx, Any, Any) -> None self.transforms = self.transforms + app.registry.get_transforms() - super(SphinxStandaloneReader, self).__init__(app, *args, **kwargs) + super().__init__(app, *args, **kwargs) class SphinxI18nReader(SphinxBaseReader): @@ -166,7 +166,7 @@ class SphinxBaseFileInput(FileInput): self.env = env kwds['error_handler'] = 'sphinx' # py3: handle error on open. - super(SphinxBaseFileInput, self).__init__(*args, **kwds) + super().__init__(*args, **kwds) def read(self): # type: () -> str @@ -174,7 +174,7 @@ class SphinxBaseFileInput(FileInput): After reading, it emits Sphinx event ``source-read``. """ - data = super(SphinxBaseFileInput, self).read() + data = super().read() # emit source-read event arg = [data] @@ -237,7 +237,7 @@ class SphinxRSTFileInput(SphinxBaseFileInput): warnings.warn('SphinxRSTFileInput is deprecated.', RemovedInSphinx30Warning, stacklevel=2) - inputstring = super(SphinxRSTFileInput, self).read() + inputstring = super().read() lines = string2lines(inputstring, convert_whitespace=True) content = StringList() for lineno, line in enumerate(lines): diff --git a/sphinx/make_mode.py b/sphinx/make_mode.py index ffc609a03..fa3fed58d 100644 --- a/sphinx/make_mode.py +++ b/sphinx/make_mode.py @@ -29,7 +29,7 @@ class Make(make_mode.Make): warnings.warn('sphinx.make_mode.Make is deprecated. ' 'Please use sphinx.cmd.make_mode.Make instead.', RemovedInSphinx30Warning, stacklevel=2) - super(Make, self).__init__(*args) + super().__init__(*args) def run_make_mode(args): diff --git a/sphinx/parsers.py b/sphinx/parsers.py index 142bd5d6a..438e5c718 100644 --- a/sphinx/parsers.py +++ b/sphinx/parsers.py @@ -68,7 +68,7 @@ class RSTParser(docutils.parsers.rst.Parser, Parser): refs: sphinx.io.SphinxStandaloneReader """ - transforms = super(RSTParser, self).get_transforms() + transforms = super().get_transforms() transforms.remove(SmartQuotes) return transforms diff --git a/sphinx/pycode/parser.py b/sphinx/pycode/parser.py index 71d7df781..71630aa3d 100644 --- a/sphinx/pycode/parser.py +++ b/sphinx/pycode/parser.py @@ -196,7 +196,7 @@ class AfterCommentParser(TokenProcessor): def __init__(self, lines): # type: (List[str]) -> None - super(AfterCommentParser, self).__init__(lines) + super().__init__(lines) self.comment = None # type: str def fetch_rvalue(self): @@ -249,7 +249,7 @@ class VariableCommentPicker(ast.NodeVisitor): self.comments = {} # type: Dict[Tuple[str, str], str] self.previous = None # type: ast.AST self.deforders = {} # type: Dict[str, int] - super(VariableCommentPicker, self).__init__() + super().__init__() def add_entry(self, name): # type: (str) -> None @@ -293,7 +293,7 @@ class VariableCommentPicker(ast.NodeVisitor): def visit(self, node): # type: (ast.AST) -> None """Updates self.previous to .""" - super(VariableCommentPicker, self).visit(node) + super().visit(node) self.previous = node def visit_Assign(self, node): @@ -388,7 +388,7 @@ class VariableCommentPicker(ast.NodeVisitor): class DefinitionFinder(TokenProcessor): def __init__(self, lines): # type: (List[str]) -> None - super(DefinitionFinder, self).__init__(lines) + super().__init__(lines) self.decorator = None # type: Token self.context = [] # type: List[str] self.indents = [] # type: List diff --git a/sphinx/roles.py b/sphinx/roles.py index 59f5b297e..0c02f230e 100644 --- a/sphinx/roles.py +++ b/sphinx/roles.py @@ -171,8 +171,7 @@ class XRefRole: class AnyXRefRole(XRefRole): def process_link(self, env, refnode, has_explicit_title, title, target): # type: (BuildEnvironment, nodes.Element, bool, str, str) -> Tuple[str, str] - result = super(AnyXRefRole, self).process_link(env, refnode, has_explicit_title, - title, target) + result = super().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 diff --git a/sphinx/search/__init__.py b/sphinx/search/__init__.py index 6c350f202..f599b01e6 100644 --- a/sphinx/search/__init__.py +++ b/sphinx/search/__init__.py @@ -198,7 +198,7 @@ class WordCollector(nodes.NodeVisitor): def __init__(self, document, lang): # type: (nodes.document, SearchLanguage) -> None - super(WordCollector, self).__init__(document) + super().__init__(document) self.found_words = [] # type: List[str] self.found_title_words = [] # type: List[str] self.lang = lang diff --git a/sphinx/search/ja.py b/sphinx/search/ja.py index 7c87ffe44..e86f02711 100644 --- a/sphinx/search/ja.py +++ b/sphinx/search/ja.py @@ -64,7 +64,7 @@ class BaseSplitter: class MecabSplitter(BaseSplitter): def __init__(self, options): # type: (Dict) -> None - super(MecabSplitter, self).__init__(options) + super().__init__(options) self.ctypes_libmecab = None # type: Any self.ctypes_mecab = None # type: Any if not native_module: @@ -138,7 +138,7 @@ MeCabBinder = MecabSplitter # keep backward compatibility until Sphinx-1.6 class JanomeSplitter(BaseSplitter): def __init__(self, options): # type: (Dict) -> None - super(JanomeSplitter, self).__init__(options) + super().__init__(options) self.user_dict = options.get('user_dic') self.user_dict_enc = options.get('user_dic_enc', 'utf8') self.init_tokenizer() diff --git a/sphinx/testing/util.py b/sphinx/testing/util.py index 13147a3f9..8fe2f7ee0 100644 --- a/sphinx/testing/util.py +++ b/sphinx/testing/util.py @@ -139,9 +139,9 @@ class SphinxTestApp(application.Sphinx): if v.startswith('visit_')) try: - super(SphinxTestApp, self).__init__(srcdir, confdir, outdir, doctreedir, - buildername, confoverrides, status, warning, - freshenv, warningiserror, tags) + super().__init__(srcdir, confdir, outdir, doctreedir, + buildername, confoverrides, status, warning, + freshenv, warningiserror, tags) except Exception: self.cleanup() raise diff --git a/sphinx/transforms/__init__.py b/sphinx/transforms/__init__.py index 6e189b35f..2268e318c 100644 --- a/sphinx/transforms/__init__.py +++ b/sphinx/transforms/__init__.py @@ -88,7 +88,7 @@ class SphinxTransformer(Transformer): if not hasattr(self.document.settings, 'env') and self.env: self.document.settings.env = self.env - super(SphinxTransformer, self).apply_transforms() + super().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 - super(SphinxTransformer, self).apply_transforms() + super().apply_transforms() finally: self.document = self.document[0] @@ -355,7 +355,7 @@ class SphinxSmartQuotes(SmartQuotes, SphinxTransform): # override default settings with :confval:`smartquotes_action` self.smartquotes_action = self.config.smartquotes_action - super(SphinxSmartQuotes, self).apply() + super().apply() def is_available(self): # type: () -> bool diff --git a/sphinx/transforms/post_transforms/code.py b/sphinx/transforms/post_transforms/code.py index 8536fab6e..651f88929 100644 --- a/sphinx/transforms/post_transforms/code.py +++ b/sphinx/transforms/post_transforms/code.py @@ -55,7 +55,7 @@ class HighlightLanguageVisitor(nodes.NodeVisitor): # type: (nodes.document, str) -> None self.default_setting = HighlightSetting(default_language, sys.maxsize) self.settings = [] # type: List[HighlightSetting] - super(HighlightLanguageVisitor, self).__init__(document) + super().__init__(document) def unknown_visit(self, node): # type: (nodes.Node) -> None diff --git a/sphinx/transforms/post_transforms/images.py b/sphinx/transforms/post_transforms/images.py index ff8c9f9cc..00b897d64 100644 --- a/sphinx/transforms/post_transforms/images.py +++ b/sphinx/transforms/post_transforms/images.py @@ -203,7 +203,7 @@ class ImageConverter(BaseImageConverter): self.available = None # type: bool # the converter is available or not. # Will be checked at first conversion - super(ImageConverter, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) def match(self, node): # type: (nodes.image) -> bool diff --git a/sphinx/util/__init__.py b/sphinx/util/__init__.py index 4766333b0..dba327499 100644 --- a/sphinx/util/__init__.py +++ b/sphinx/util/__init__.py @@ -496,7 +496,7 @@ def force_decode(string, encoding): class attrdict(dict): def __init__(self, *args, **kwargs): - super(attrdict, self).__init__(*args, **kwargs) + super().__init__(*args, **kwargs) warnings.warn('The attrdict class is deprecated.', RemovedInSphinx40Warning, stacklevel=2) diff --git a/sphinx/util/docfields.py b/sphinx/util/docfields.py index 34b5e8b9d..885e5eb2d 100644 --- a/sphinx/util/docfields.py +++ b/sphinx/util/docfields.py @@ -141,7 +141,7 @@ class GroupedField(Field): def __init__(self, name, names=(), label=None, rolename=None, can_collapse=False): # type: (str, Tuple[str, ...], str, str, bool) -> None - super(GroupedField, self).__init__(name, names, label, True, rolename) + super().__init__(name, names, label, True, rolename) self.can_collapse = can_collapse def make_field(self, @@ -194,7 +194,7 @@ class TypedField(GroupedField): def __init__(self, name, names=(), typenames=(), label=None, rolename=None, typerolename=None, can_collapse=False): # type: (str, Tuple[str, ...], Tuple[str, ...], str, str, str, bool) -> None - super(TypedField, self).__init__(name, names, label, rolename, can_collapse) + super().__init__(name, names, label, rolename, can_collapse) self.typenames = typenames self.typerolename = typerolename diff --git a/sphinx/util/docutils.py b/sphinx/util/docutils.py index 3e36565f7..9e2ee740a 100644 --- a/sphinx/util/docutils.py +++ b/sphinx/util/docutils.py @@ -289,8 +289,8 @@ class LoggingReporter(Reporter): error_handler='backslashreplace'): # type: (str, int, int, bool, str) -> None stream = cast(IO, WarningStream()) - super(LoggingReporter, self).__init__(source, report_level, halt_level, - stream, debug, error_handler=error_handler) + super().__init__(source, report_level, halt_level, + stream, debug, error_handler=error_handler) class NullReporter(Reporter): @@ -298,7 +298,7 @@ class NullReporter(Reporter): def __init__(self): # type: () -> None - super(NullReporter, self).__init__('', 999, 4) + super().__init__('', 999, 4) def is_html5_writer_available(): @@ -349,7 +349,7 @@ class SphinxFileOutput(FileOutput): def __init__(self, **kwargs): # type: (Any) -> None self.overwrite_if_changed = kwargs.pop('overwrite_if_changed', False) - super(SphinxFileOutput, self).__init__(**kwargs) + super().__init__(**kwargs) def write(self, data): # type: (str) -> str @@ -360,7 +360,7 @@ class SphinxFileOutput(FileOutput): if f.read() == data: return data - return super(SphinxFileOutput, self).write(data) + return super().write(data) class SphinxDirective(Directive): @@ -396,7 +396,7 @@ class SphinxTranslator(nodes.NodeVisitor): def __init__(self, builder, document): # type: (Builder, nodes.document) -> None - super(SphinxTranslator, self).__init__(document) + super().__init__(document) self.builder = builder self.config = builder.config self.settings = document.settings diff --git a/sphinx/util/jsonimpl.py b/sphinx/util/jsonimpl.py index ba47cf29f..43beb19da 100644 --- a/sphinx/util/jsonimpl.py +++ b/sphinx/util/jsonimpl.py @@ -25,7 +25,7 @@ class SphinxJSONEncoder(json.JSONEncoder): # type: (Any) -> str if isinstance(obj, UserString): return text_type(obj) - return super(SphinxJSONEncoder, self).default(obj) + return super().default(obj) def dump(obj, fp, *args, **kwds): diff --git a/sphinx/util/logging.py b/sphinx/util/logging.py index ad4978022..b1fb05070 100644 --- a/sphinx/util/logging.py +++ b/sphinx/util/logging.py @@ -100,7 +100,7 @@ class SphinxLogRecord(logging.LogRecord): def getMessage(self): # type: () -> str - message = super(SphinxLogRecord, self).getMessage() + message = super().getMessage() location = getattr(self, 'location', None) if location: message = '%s: %s%s' % (location, self.prefix, message) @@ -126,10 +126,10 @@ class SphinxLoggerAdapter(logging.LoggerAdapter): def log(self, level, msg, *args, **kwargs): # type: ignore # type: (Union[int, str], str, Any, Any) -> None if isinstance(level, int): - super(SphinxLoggerAdapter, self).log(level, msg, *args, **kwargs) + super().log(level, msg, *args, **kwargs) else: levelno = LEVEL_NAMES[level] - super(SphinxLoggerAdapter, self).log(levelno, msg, *args, **kwargs) + super().log(levelno, msg, *args, **kwargs) def verbose(self, msg, *args, **kwargs): # type: (str, Any, Any) -> None @@ -171,7 +171,7 @@ class NewLineStreamHandler(logging.StreamHandler): if getattr(record, 'nonl', False): # skip appending terminator when nonl=True self.terminator = '' - super(NewLineStreamHandler, self).emit(record) + super().emit(record) finally: self.terminator = '\n' self.release() @@ -182,7 +182,7 @@ class MemoryHandler(logging.handlers.BufferingHandler): def __init__(self): # type: () -> None - super(MemoryHandler, self).__init__(-1) + super().__init__(-1) def shouldFlush(self, record): # type: (logging.LogRecord) -> bool @@ -385,7 +385,7 @@ class WarningSuppressor(logging.Filter): def __init__(self, app): # type: (Sphinx) -> None self.app = app - super(WarningSuppressor, self).__init__() + super().__init__() def filter(self, record): # type: (logging.LogRecord) -> bool @@ -411,7 +411,7 @@ class WarningIsErrorFilter(logging.Filter): def __init__(self, app): # type: (Sphinx) -> None self.app = app - super(WarningIsErrorFilter, self).__init__() + super().__init__() def filter(self, record): # type: (logging.LogRecord) -> bool @@ -448,7 +448,7 @@ class MessagePrefixFilter(logging.Filter): def __init__(self, prefix): # type: (str) -> None self.prefix = prefix - super(MessagePrefixFilter, self).__init__() + super().__init__() def filter(self, record): # type: (logging.LogRecord) -> bool @@ -468,7 +468,7 @@ class SphinxLogRecordTranslator(logging.Filter): def __init__(self, app): # type: (Sphinx) -> None self.app = app - super(SphinxLogRecordTranslator, self).__init__() + super().__init__() def filter(self, record): # type: ignore # type: (SphinxWarningLogRecord) -> bool @@ -519,7 +519,7 @@ def get_node_location(node): class ColorizeFormatter(logging.Formatter): def format(self, record): # type: (logging.LogRecord) -> str - message = super(ColorizeFormatter, self).format(record) + message = super().format(record) color = getattr(record, 'color', None) if color is None: color = COLOR_MAP.get(record.levelno) diff --git a/sphinx/util/stemmer/__init__.py b/sphinx/util/stemmer/__init__.py index 04b37709c..486d86231 100644 --- a/sphinx/util/stemmer/__init__.py +++ b/sphinx/util/stemmer/__init__.py @@ -40,7 +40,7 @@ class StandardStemmer(PorterStemmer, BaseStemmer): # type: ignore """ def stem(self, word): # type: ignore # type: (str) -> str - return super(StandardStemmer, self).stem(word, 0, len(word) - 1) + return super().stem(word, 0, len(word) - 1) def get_stemmer(): diff --git a/sphinx/util/template.py b/sphinx/util/template.py index 49afc2df2..7c98654ed 100644 --- a/sphinx/util/template.py +++ b/sphinx/util/template.py @@ -44,7 +44,7 @@ class FileRenderer(BaseRenderer): def __init__(self, search_path): # type: (str) -> None loader = SphinxFileSystemLoader(search_path) - super(FileRenderer, self).__init__(loader) + super().__init__(loader) @classmethod def render_from_file(cls, filename, context): @@ -59,7 +59,7 @@ class SphinxRenderer(FileRenderer): # type: (str) -> None if template_path is None: template_path = os.path.join(package_dir, 'templates') - super(SphinxRenderer, self).__init__(template_path) + super().__init__(template_path) @classmethod def render_from_file(cls, filename, context): @@ -71,7 +71,7 @@ class LaTeXRenderer(SphinxRenderer): def __init__(self): # type: () -> None template_path = os.path.join(package_dir, 'templates', 'latex') - super(LaTeXRenderer, self).__init__(template_path) + super().__init__(template_path) # use texescape as escape filter self.env.filters['e'] = texescape.escape diff --git a/sphinx/writers/html.py b/sphinx/writers/html.py index 80a06cc26..7ab84fb35 100644 --- a/sphinx/writers/html.py +++ b/sphinx/writers/html.py @@ -48,7 +48,7 @@ class HTMLWriter(Writer): def __init__(self, builder): # type: (StandaloneHTMLBuilder) -> None - super(HTMLWriter, self).__init__() + super().__init__() self.builder = builder def translate(self): @@ -76,7 +76,7 @@ class HTMLTranslator(SphinxTranslator, BaseTranslator): def __init__(self, builder, document): # type: (StandaloneHTMLBuilder, nodes.document) -> None - super(HTMLTranslator, self).__init__(builder, document) + super().__init__(builder, document) self.highlighter = self.builder.highlighter self.docnames = [self.builder.current_docname] # for singlehtml builder self.manpages_url = self.config.manpages_url @@ -377,18 +377,18 @@ class HTMLTranslator(SphinxTranslator, BaseTranslator): # avoid emitting empty