diff options
Diffstat (limited to 'sphinx/builders/xml.py')
-rw-r--r-- | sphinx/builders/xml.py | 32 |
1 files changed, 11 insertions, 21 deletions
diff --git a/sphinx/builders/xml.py b/sphinx/builders/xml.py index b3d12149b..4aaa0811d 100644 --- a/sphinx/builders/xml.py +++ b/sphinx/builders/xml.py @@ -9,23 +9,20 @@ """ from os import path +from typing import Any, Dict, Iterator, Set, Type, Union from docutils import nodes from docutils.io import StringOutput +from docutils.nodes import Node from docutils.writers.docutils_xml import XMLTranslator +from sphinx.application import Sphinx from sphinx.builders import Builder from sphinx.locale import __ from sphinx.util import logging from sphinx.util.osutil import ensuredir, os_path from sphinx.writers.xml import XMLWriter, PseudoXMLWriter -if False: - # For type annotation - from typing import Any, Dict, Iterator, Set, Type # NOQA - from docutils.writers.xml import BaseXMLWriter # NOQA - from sphinx.application import Sphinx # NOQA - logger = logging.getLogger(__name__) @@ -40,15 +37,13 @@ class XMLBuilder(Builder): out_suffix = '.xml' allow_parallel = True - _writer_class = XMLWriter # type: Type[BaseXMLWriter] + _writer_class = XMLWriter # type: Union[Type[XMLWriter], Type[PseudoXMLWriter]] default_translator_class = XMLTranslator - def init(self): - # type: () -> None + def init(self) -> None: pass - def get_outdated_docs(self): - # type: () -> Iterator[str] + def get_outdated_docs(self) -> Iterator[str]: for docname in self.env.found_docs: if docname not in self.env.all_docs: yield docname @@ -66,16 +61,13 @@ class XMLBuilder(Builder): # source doesn't exist anymore pass - def get_target_uri(self, docname, typ=None): - # type: (str, str) -> str + def get_target_uri(self, docname: str, typ: str = None) -> str: return docname - def prepare_writing(self, docnames): - # type: (Set[str]) -> None + def prepare_writing(self, docnames: Set[str]) -> None: self.writer = self._writer_class(self) - def write_doc(self, docname, doctree): - # type: (str, nodes.Node) -> None + def write_doc(self, docname: str, doctree: Node) -> None: # work around multiple string % tuple issues in docutils; # replace tuples in attribute values with lists doctree = doctree.deepcopy() @@ -98,8 +90,7 @@ class XMLBuilder(Builder): except OSError as err: logger.warning(__("error writing file %s: %s"), outfilename, err) - def finish(self): - # type: () -> None + def finish(self) -> None: pass @@ -116,8 +107,7 @@ class PseudoXMLBuilder(XMLBuilder): _writer_class = PseudoXMLWriter -def setup(app): - # type: (Sphinx) -> Dict[str, Any] +def setup(app: Sphinx) -> Dict[str, Any]: app.add_builder(XMLBuilder) app.add_builder(PseudoXMLBuilder) |