Ejemplo n.º 1
0
def setup(app: Sphinx) -> Dict[str, Any]:
    app.add_directive("drawio-image", DrawIOImage)
    app.add_directive("drawio-figure", DrawIOFigure)
    app.add_config_value("drawio_builder_export_format",
                         DEFAULT_BUILDER_EXPORT_FORMAT, "html", dict)
    app.add_config_value("drawio_default_export_scale", 100, "html")
    # noinspection PyTypeChecker
    app.add_config_value("drawio_default_transparency", False, "html",
                         ENUM(True, False))
    app.add_config_value("drawio_binary_path", None, "html")
    # noinspection PyTypeChecker
    app.add_config_value("drawio_headless", "auto", "html",
                         ENUM("auto", True, False))
    # noinspection PyTypeChecker
    app.add_config_value("drawio_no_sandbox", False, "html", ENUM(True, False))

    # deprecated
    app.add_node(DrawIONode,
                 html=(render_drawio_html, None),
                 latex=(render_drawio_latex, None))
    app.add_directive("drawio", DrawIO)
    app.add_config_value("drawio_output_format", "png", "html",
                         ENUM(*VALID_OUTPUT_FORMATS))
    app.add_config_value("drawio_default_scale", 1, "html")

    # Add CSS file to the HTML static path for add_css_file
    app.connect("build-finished", on_build_finished)
    app.connect("config-inited", on_config_inited)
    app.add_css_file("drawio.css")

    return {"version": __version__, "parallel_read_safe": True}
Ejemplo n.º 2
0
def setup(app):
    """Sets up the extension"""

    app.add_autodocumenter(documenters.FunctionDocumenter)

    app.add_config_value("autoclass_content", "class", True,
                         ENUM("both", "class", "init"))
    app.add_config_value(
        "autodoc_member_order",
        "alphabetical",
        True,
        ENUM("alphabetic", "alphabetical", "bysource", "groupwise"),
    )
    app.add_config_value("autodoc_default_options", {}, True)
    app.add_config_value("autodoc_docstring_signature", True, True)
    app.add_config_value("autodoc_mock_imports", [], True)
    app.add_config_value("autodoc_typehints", "signature", True,
                         ENUM("signature", "description", "none"))
    app.add_config_value("autodoc_type_aliases", {}, True)
    app.add_config_value("autodoc_warningiserror", True, True)
    app.add_config_value("autodoc_inherit_docstrings", True, True)
    app.add_event("autodoc-before-process-signature")
    app.add_event("autodoc-process-docstring")
    app.add_event("autodoc-process-signature")
    app.add_event("autodoc-skip-member")

    app.connect("config-inited", migrate_autodoc_member_order, priority=800)

    app.setup_extension("sphinx.ext.autodoc.type_comment")
    app.setup_extension("sphinx.ext.autodoc.typehints")

    return {"version": sphinx.__display_version__, "parallel_read_safe": True}
Ejemplo n.º 3
0
def setup(app):
    # type: (Sphinx) -> Dict[unicode, Any]
    app.add_builder(LaTeXBuilder)
    app.connect('config-inited', validate_config_values)

    app.add_config_value('latex_engine', default_latex_engine, None,
                         ENUM('pdflatex', 'xelatex', 'lualatex', 'platex'))
    app.add_config_value(
        'latex_documents',
        lambda self: [(self.master_doc, make_filename(self.project) + '.tex',
                       self.project, '', 'manual')], None)
    app.add_config_value('latex_logo', None, None, string_classes)
    app.add_config_value('latex_appendices', [], None)
    app.add_config_value('latex_use_latex_multicolumn', False, None)
    app.add_config_value('latex_toplevel_sectioning', None, None,
                         ENUM('part', 'chapter', 'section'))
    app.add_config_value('latex_domain_indices', True, None, [list])
    app.add_config_value('latex_show_urls', 'no', None)
    app.add_config_value('latex_show_pagerefs', False, None)
    app.add_config_value('latex_elements', {}, None)
    app.add_config_value('latex_additional_files', [], None)

    app.add_config_value('latex_docclass', default_latex_docclass, None)

    return {
        'version': 'builtin',
        'parallel_read_safe': True,
        'parallel_write_safe': True,
    }
Ejemplo n.º 4
0
def setup(app):
    # type: (Sphinx) -> Dict[str, Any]
    app.setup_extension('sphinx.builders.latex.transforms')

    app.add_builder(LaTeXBuilder)
    app.connect('config-inited', validate_config_values)

    app.add_config_value('latex_engine', default_latex_engine, None,
                         ENUM('pdflatex', 'xelatex', 'lualatex', 'platex'))
    app.add_config_value('latex_documents', default_latex_documents, None)
    app.add_config_value('latex_logo', None, None, [str])
    app.add_config_value('latex_appendices', [], None)
    app.add_config_value('latex_use_latex_multicolumn', False, None)
    app.add_config_value('latex_use_xindy', default_latex_use_xindy, None)
    app.add_config_value('latex_toplevel_sectioning', None, None,
                         ENUM(None, 'part', 'chapter', 'section'))
    app.add_config_value('latex_domain_indices', True, None, [list])
    app.add_config_value('latex_show_urls', 'no', None)
    app.add_config_value('latex_show_pagerefs', False, None)
    app.add_config_value('latex_elements', {}, None)
    app.add_config_value('latex_additional_files', [], None)

    app.add_config_value('latex_docclass', default_latex_docclass, None)

    return {
        'version': 'builtin',
        'parallel_read_safe': True,
        'parallel_write_safe': True,
    }
Ejemplo n.º 5
0
def setup(app: Sphinx) -> Dict[str, Any]:
    app.add_node(DrawIONode,
                 html=(render_drawio_html, None),
                 latex=(render_drawio_latex, None))
    app.add_directive("drawio", DrawIO)
    app.add_config_value("drawio_output_format", "png", "html", ENUM(*VALID_OUTPUT_FORMATS))
    app.add_config_value("drawio_binary_path", None, "html")
    # noinspection PyTypeChecker
    app.add_config_value("drawio_headless", "auto", "html", ENUM("auto", True, False))

    # Add CSS file to the HTML static path for add_css_file
    app.connect("build-finished", on_build_finished)
    app.connect("config-inited", on_config_inited)
    app.add_css_file("drawio.css")

    return {"parallel_read_safe": True}
Ejemplo n.º 6
0
def setup(app):
    app.add_builder(LaTeXBuilder)
    app.connect('builder-inited', validate_config_values)

    app.add_config_value(
        'latex_engine', lambda self: 'pdflatex'
        if self.language != 'ja' else 'platex', None,
        ENUM('pdflatex', 'xelatex', 'lualatex', 'platex'))
    app.add_config_value(
        'latex_documents',
        lambda self: [(self.master_doc, make_filename(self.project) + '.tex',
                       self.project, '', 'manual')], None)
    app.add_config_value('latex_logo', None, None, string_classes)
    app.add_config_value('latex_appendices', [], None)
    app.add_config_value('latex_keep_old_macro_names', True, None)
    # now deprecated - use latex_toplevel_sectioning
    app.add_config_value('latex_use_parts', False, None)
    app.add_config_value('latex_toplevel_sectioning', None, None, [str])
    app.add_config_value('latex_use_modindex', True, None)  # deprecated
    app.add_config_value('latex_domain_indices', True, None, [list])
    app.add_config_value('latex_show_urls', 'no', None)
    app.add_config_value('latex_show_pagerefs', False, None)
    # paper_size and font_size are still separate values
    # so that you can give them easily on the command line
    app.add_config_value('latex_paper_size', 'letter', None)
    app.add_config_value('latex_font_size', '10pt', None)
    app.add_config_value('latex_elements', {}, None)
    app.add_config_value('latex_additional_files', [], None)

    japanese_default = {'manual': 'jsbook', 'howto': 'jreport'}
    app.add_config_value(
        'latex_docclass', lambda self: japanese_default
        if self.language == 'ja' else {}, None)
    # now deprecated - use latex_elements
    app.add_config_value('latex_preamble', '', None)
Ejemplo n.º 7
0
def setup(app):
    app.setup_extension('sphinx.ext.autodoc')
    app.config.values['autodoc_typehints'] = ('signature', True,
                                              ENUM("signature", "description", "none"))
    app.connect('config-inited', config_inited)
    app.connect('autodoc-process-signature', record_typehints)
    app.connect('object-description-transform', merge_typehints)
Ejemplo n.º 8
0
def setup(app: Sphinx) -> Dict[str, Any]:
    app.setup_extension('sphinx.ext.autodoc')
    app.config.values['autodoc_typehints'] = ('signature', True,
                                              ENUM("signature", "description",
                                                   "none"))
    app.connect('config-inited', config_inited)
    app.connect('autodoc-process-signature', record_typehints)
    app.connect('object-description-transform', merge_typehints)

    return {
        'version': 'builtin',
        'parallel_read_safe': True,
        'parallel_write_safe': True,
    }
Ejemplo n.º 9
0
def setup(app):
    # type: (Sphinx) -> Dict[str, Any]
    app.add_builder(Epub3Builder)

    # config values
    app.add_config_value('epub_basename',
                         lambda self: make_filename(self.project), None)
    app.add_config_value('epub_version', 3.0, 'epub')  # experimental
    app.add_config_value('epub_theme', 'epub', 'epub')
    app.add_config_value('epub_theme_options', {}, 'epub')
    app.add_config_value('epub_title', lambda self: self.project, 'epub')
    app.add_config_value('epub_author', lambda self: self.author, 'epub')
    app.add_config_value('epub_language', lambda self: self.language or 'en',
                         'epub')
    app.add_config_value('epub_publisher', lambda self: self.author, 'epub')
    app.add_config_value('epub_copyright', lambda self: self.copyright, 'epub')
    app.add_config_value('epub_identifier', 'unknown', 'epub')
    app.add_config_value('epub_scheme', 'unknown', 'epub')
    app.add_config_value('epub_uid', 'unknown', 'env')
    app.add_config_value('epub_cover', (), 'env')
    app.add_config_value('epub_guide', (), 'env')
    app.add_config_value('epub_pre_files', [], 'env')
    app.add_config_value('epub_post_files', [], 'env')
    app.add_config_value('epub_css_files',
                         lambda config: config.html_css_files, 'epub')
    app.add_config_value('epub_exclude_files', [], 'env')
    app.add_config_value('epub_tocdepth', 3, 'env')
    app.add_config_value('epub_tocdup', True, 'env')
    app.add_config_value('epub_tocscope', 'default', 'env')
    app.add_config_value('epub_fix_images', False, 'env')
    app.add_config_value('epub_max_image_width', 0, 'env')
    app.add_config_value('epub_show_urls', 'inline', 'epub')
    app.add_config_value('epub_use_index', lambda self: self.html_use_index,
                         'epub')
    app.add_config_value('epub_description', 'unknown', 'epub')
    app.add_config_value('epub_contributor', 'unknown', 'epub')
    app.add_config_value('epub_writing_mode', 'horizontal', 'epub',
                         ENUM('horizontal', 'vertical'))

    # event handlers
    app.connect('config-inited', convert_epub_css_files)
    app.connect('builder-inited', validate_config_values)

    return {
        'version': 'builtin',
        'parallel_read_safe': True,
        'parallel_write_safe': True,
    }
Ejemplo n.º 10
0
def setup(app):
    # type: (Sphinx) -> Dict[unicode, Any]
    app.setup_extension('sphinx.builders.epub')
    app.add_builder(Epub3Builder)

    app.add_config_value('epub_description', '', 'epub3', string_classes)
    app.add_config_value('epub_contributor', 'unknown', 'epub3',
                         string_classes)
    app.add_config_value('epub_writing_mode', 'horizontal', 'epub3',
                         ENUM('horizontal', 'vertical'))

    return {
        'version': 'builtin',
        'parallel_read_safe': True,
        'parallel_write_safe': True,
    }
Ejemplo n.º 11
0
def setup(app: Sphinx) -> Dict[str, Any]:
    app.setup_extension("sphinx.ext.intersphinx")
    if hasattr(app.config, "intersphinx_mapping"):
        if "PyQt5" not in app.config.intersphinx_mapping:
            app.config.intersphinx_mapping["PyQt5"] = (
                "https://www.riverbankcomputing.com/static/Docs/PyQt5",
                None,
            )
    else:
        app.config.intersphinx_mapping = {
            "PyQt5": ("https://www.riverbankcomputing.com/static/Docs/PyQt5", None)
        }
    app.connect("missing-reference", missing_reference)
    app.connect("autodoc-process-signature", autodoc_process_signature)
    # app.connect('doctree-read', doctree_read)
    app.add_config_value("qt_documentation", "Qt5", True, ENUM("Qt5", "PySide2", "PyQt5"))
    return {"version": "0.1", "env_version": 1, "parallel_read_safe": True}
Ejemplo n.º 12
0
def setup(app: Sphinx) -> SphinxExtMetadata:
    """
	Setup :mod:`sphinx_toolbox.more_autodoc.overloads`.

	.. versionadded:: 1.4.0

	:param app: The Sphinx application.
	"""

    app.add_autodocumenter(FunctionDocumenter, override=True)
    app.add_autodocumenter(MethodDocumenter, override=True)
    app.add_config_value(
        "overloads_location",
        "signature",
        "env",
        ENUM("top", "bottom", "signature"),  # top (of body), bottom (of body)
    )

    return {"parallel_read_safe": True}
Ejemplo n.º 13
0
def setup(app):
    app.add_config_value('value1', 'string', False)
    app.add_config_value('value2', lambda conf: [], False)
    app.add_config_value('value3', [], False)
    app.add_config_value('value4', 100, False)
    app.add_config_value('value5', False, False)
    app.add_config_value('value6', [], False)
    app.add_config_value('value7', 'string', False, [list])
    app.add_config_value('value8', B(), False)
    app.add_config_value('value9', None, False)
    app.add_config_value('value10', None, False)
    app.add_config_value('value11', None, False, [str])
    app.add_config_value('value12', 'string', False)
    app.add_config_value('value13', None, False, string_classes)
    app.add_config_value('value14', None, False, string_classes)
    app.add_config_value('value15', u'unicode', False)
    app.add_config_value('value16', u'unicode', False)
    app.add_config_value('value17', 'default', False,
                         ENUM('default', 'one', 'two'))
Ejemplo n.º 14
0
def setup(app: Sphinx) -> SphinxExtMetadata:
	"""
	Setup :mod:`sphinx_toolbox.more_autosummary`.

	:param app: The Sphinx app.
	"""

	app.setup_extension("sphinx.ext.autosummary")
	app.setup_extension("autodocsumm")

	app.add_directive("autosummary", PatchedAutosummary, override=True)
	autodocsumm.AutosummaryDocumenter.add_autosummary = add_autosummary
	allow_subclass_add(app, PatchedAutoSummClassDocumenter)

	app.add_config_value(
			"autodocsumm_member_order",
			"alphabetical",
			True,
			ENUM("alphabetic", "alphabetical", "bysource"),
			)

	return {"parallel_read_safe": True}
Ejemplo n.º 15
0
def setup(app):
    # type: (Sphinx) -> Dict[unicode, Any]
    app.add_builder(LaTeXBuilder)
    app.connect('builder-inited', validate_config_values)

    app.add_config_value('latex_engine', default_latex_engine, None,
                         ENUM('pdflatex', 'xelatex', 'lualatex', 'platex'))
    app.add_config_value(
        'latex_documents',
        lambda self: [(self.master_doc, make_filename(self.project) + '.tex',
                       self.project, '', 'manual')], None)
    app.add_config_value('latex_logo', None, None, string_classes)
    app.add_config_value('latex_appendices', [], None)
    app.add_config_value('latex_keep_old_macro_names', True, None)
    # now deprecated - use latex_toplevel_sectioning
    app.add_config_value('latex_use_parts', False, None)
    app.add_config_value('latex_toplevel_sectioning', None, None, [str])
    app.add_config_value('latex_use_modindex', True, None)  # deprecated
    app.add_config_value('latex_domain_indices', True, None, [list])
    app.add_config_value('latex_show_urls', 'no', None)
    app.add_config_value('latex_show_pagerefs', False, None)
    # paper_size and font_size are still separate values
    # so that you can give them easily on the command line
    app.add_config_value('latex_paper_size', 'letter', None)
    app.add_config_value('latex_font_size', '10pt', None)
    app.add_config_value('latex_elements', {}, None)
    app.add_config_value('latex_additional_files', [], None)

    app.add_config_value('latex_docclass', default_latex_docclass, None)
    # now deprecated - use latex_elements
    app.add_config_value('latex_preamble', '', None)

    return {
        'version': 'builtin',
        'parallel_read_safe': True,
        'parallel_write_safe': True,
    }
Ejemplo n.º 16
0
def test_check_enum_for_list_failed(logger):
    config = Config({'value': ['one', 'two', 'invalid']})
    config.add('value', 'default', False, ENUM('default', 'one', 'two'))
    config.init_values()
    check_confval_types(None, config)
    assert logger.warning.called
Ejemplo n.º 17
0
def test_check_enum_for_list(logger):
    config = Config({'value': ['one', 'two']})
    config.add('value', 'default', False, ENUM('default', 'one', 'two'))
    config.init_values()
    check_confval_types(None, config)
    logger.warning.assert_not_called()  # not warned