Esempio n. 1
0
def event_env_updated(app, env):
    """
    This emits some additional sphinx events to allow additional processing
    after "Phase 1: Read", but before the env is pickled (which happens during
    "Phase 2: Consistency Checks").

    :param sphinx.application.Sphinx app: Sphinx Application
    :param sphinx.environment.BuildEnvironment env: Sphinx Environment
    """
    sphinx_emit(app, 'before-doctree-extra-processing', app, env)

    # TODO:PARALLEL add parallel processing with ParallelTasks or see sphinx.builders.linkcheck
    # from sphinx.util.parallel import ParallelTasks, parallel_available
    # if parallel_available and app.parallel > 1:  # based on sphinx.environment #598
    #   nproc = app.parallel
    #
    # env.asset_tasks = ParallelTasks(nproc)

    for docname in env.all_docs:
        doctree = env.get_doctree(docname)
        # Return True if the doctree needs to be re-pickled.
        re_pickle = sphinx_emit(app, 'doctree-extra-processing', app, env, docname, doctree)
        if True in re_pickle:
            pickle_doctree(env, docname, doctree)

    # merge parallel:
    # env.asset_tasks.join()

    sphinx_emit(app, 'before-pickle-env', app, env)
Esempio n. 2
0
 def emit(self, event, *args):
     """
     Emit a signal so that other extensions can influence the processing of visual nodes
     :param string event: represents an event registered with Sphinx
     """
     sphinx_emit(self.app, event, *args)
Esempio n. 3
0
 def emit(self, event, *args):
     """
     Emit a signal so that other extensions can influence the processing of visual nodes
     :param string event: represents an event registered with Sphinx
     """
     sphinx_emit(self.app, event, *args)