Пример #1
0
 def apply_transforms(self, doctree):
     # type: (nodes.document) -> None
     transformer = SphinxTransformer(doctree)
     transformer.set_environment(self.env)
     transformer.add_transforms(
         [BibliographyTransform, ShowUrlsTransform, LaTeXFootnoteTransform])
     transformer.apply_transforms()
Пример #2
0
    def apply_post_transforms(self, doctree, docname):
        # type: (nodes.Node, unicode) -> None
        """Apply all post-transforms."""
        try:
            # set env.docname during applying post-transforms
            self.temp_data['docname'] = docname
            if hasattr(doctree, 'settings'):
                doctree.settings.env = self

            transformer = SphinxTransformer(doctree)
            transformer.add_transforms(self.app.post_transforms)
            transformer.apply_transforms()
        finally:
            self.temp_data.clear()

        # allow custom references to be resolved
        self.app.emit('doctree-resolved', doctree, docname)
Пример #3
0
 def apply_transforms(self, doctree):
     # type: (nodes.document) -> None
     transformer = SphinxTransformer(doctree)
     transformer.set_environment(self.env)
     transformer.add_transforms([
         BibliographyTransform, ShowUrlsTransform, LaTeXFootnoteTransform,
         LiteralBlockTransform, DocumentTargetTransform,
         IndexInSectionTitleTransform
     ])
     transformer.apply_transforms()
Пример #4
0
    def process_only_nodes(self, doctree):
        # type: (nodes.Node) -> None
        # Lazy loading
        from sphinx.transforms import SphinxTransformer
        from sphinx.transforms.post_transforms import OnlyNodeTransform

        transformer = SphinxTransformer(doctree)
        transformer.set_environment(self.env)
        transformer.add_transform(OnlyNodeTransform)
        transformer.apply_transforms()
Пример #5
0
 def apply_transforms(self, doctree):
     # type: (nodes.document) -> None
     transformer = SphinxTransformer(doctree)
     transformer.set_environment(self.env)
     transformer.add_transforms([BibliographyTransform,
                                 ShowUrlsTransform,
                                 LaTeXFootnoteTransform])
     transformer.apply_transforms()
Пример #6
0
    def process_only_nodes(self, doctree):
        # type: (nodes.Node) -> None
        # Lazy loading
        from sphinx.transforms import SphinxTransformer
        from sphinx.transforms.post_transforms import OnlyNodeTransform

        transformer = SphinxTransformer(doctree)
        transformer.set_environment(self.env)
        transformer.add_transform(OnlyNodeTransform)
        transformer.apply_transforms()
Пример #7
0
 def apply_transforms(self, doctree):
     # type: (nodes.document) -> None
     transformer = SphinxTransformer(doctree)
     transformer.set_environment(self.env)
     transformer.add_transforms([BibliographyTransform,
                                 ShowUrlsTransform,
                                 LaTeXFootnoteTransform,
                                 LiteralBlockTransform,
                                 DocumentTargetTransform,
                                 IndexInSectionTitleTransform])
     transformer.apply_transforms()
Пример #8
0
    def apply_post_transforms(self, doctree, docname):
        # type: (nodes.Node, unicode) -> None
        """Apply all post-transforms."""
        try:
            # set env.docname during applying post-transforms
            self.temp_data['docname'] = docname

            transformer = SphinxTransformer(doctree)
            transformer.set_environment(self)
            transformer.add_transforms(self.app.post_transforms)
            transformer.apply_transforms()
        finally:
            self.temp_data.clear()

        # allow custom references to be resolved
        self.app.emit('doctree-resolved', doctree, docname)
Пример #9
0
    def apply_post_transforms(self, doctree: nodes.document, docname: str) -> None:
        """Apply all post-transforms."""
        try:
            # set env.docname during applying post-transforms
            backup = copy(self.temp_data)
            self.temp_data['docname'] = docname

            transformer = SphinxTransformer(doctree)
            transformer.set_environment(self)
            transformer.add_transforms(self.app.registry.get_post_transforms())
            transformer.apply_transforms()
        finally:
            self.temp_data = backup

        # allow custom references to be resolved
        self.events.emit('doctree-resolved', doctree, docname)
    def fixup_node(node):
        # super dirty hack to get converters to run on stored AST nodes
        try:
            # set env.docname during applying post-transforms
            backup = copy(env.temp_data)
            env.temp_data['docname'] = docname

            transformer = SphinxTransformer(node)
            transformer.set_environment(env)
            transformer.add_transforms(app.registry.get_post_transforms())
            transformer.apply_transforms()
        except ExtensionError:
            import pdb
            pdb.post_mortem()
        finally:
            env.temp_data = backup
Пример #11
0
    def new_document(self) -> nodes.document:
        """Creates a new document object which having a special reporter object good
        for logging.
        """
        document = super().new_document()

        # substitute transformer
        document.transformer = SphinxTransformer(document)
        document.transformer.set_environment(self.settings.env)

        # substitute reporter
        reporter = document.reporter
        document.reporter = LoggingReporter.from_reporter(reporter)

        return document
Пример #12
0
    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)

        # substitute transformer
        document.transformer = SphinxTransformer(document)
        document.transformer.set_environment(self.env)

        # substitute reporter
        reporter = document.reporter
        document.reporter = LoggingReporter.from_reporter(reporter)

        return document
Пример #13
0
    def new_document(self) -> nodes.document:
        """
        Creates a new document object which has a special reporter object good
        for logging.
        """
        document = super().new_document()
        document.__class__ = addnodes.document  # replace the class with patched version

        # substitute transformer
        document.transformer = SphinxTransformer(document)
        document.transformer.set_environment(self.settings.env)

        # substitute reporter
        reporter = document.reporter
        document.reporter = LoggingReporter.from_reporter(reporter)

        return document
Пример #14
0
    def apply_post_transforms(self, doctree, docname):
        # type: (nodes.Node, unicode) -> None
        """Apply all post-transforms."""
        try:
            # set env.docname during applying post-transforms
            backup = copy(self.temp_data)
            self.temp_data['docname'] = docname

            transformer = SphinxTransformer(doctree)
            transformer.set_environment(self)
            transformer.add_transforms(self.app.registry.get_post_transforms())
            transformer.apply_transforms()
        finally:
            self.temp_data = backup

        # allow custom references to be resolved
        self.app.emit('doctree-resolved', doctree, docname)
Пример #15
0
 def apply_transforms(self, doctree):
     # type: (nodes.document) -> None
     transformer = SphinxTransformer(doctree)
     transformer.set_environment(self.env)
     transformer.add_transforms([SubstitutionDefinitionsRemover])
     transformer.apply_transforms()
Пример #16
0
 def apply_transforms(self, doctree):
     # type: (nodes.document) -> None
     transformer = SphinxTransformer(doctree)
     transformer.set_environment(self.env)
     transformer.apply_transforms()
Пример #17
0
 def apply_transforms(self, doctree):
     # type: (nodes.document) -> None
     transformer = SphinxTransformer(doctree)
     transformer.set_environment(self.env)
     transformer.add_transforms([SubstitutionDefinitionsRemover])
     transformer.apply_transforms()