File: _defaults.py

package info (click to toggle)
python-graphviz 0.20.2-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 1,188 kB
  • sloc: python: 4,098; makefile: 13
file content (70 lines) | stat: -rw-r--r-- 2,255 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
"""Set package-wide default parameters and IPython/Jupyter display format."""

__all_ = ['DEFAULT_SOURCE_EXTENSION',
          'set_default_engine', 'set_default_format', 'set_jupyter_format']

DEFAULT_SOURCE_EXTENSION = 'gv'


def set_default_engine(engine: str) -> str:
    """Change the default ``engine`` and return the old default value.

    Args:
        engine: new default ``engine``
            used by all present and newly created instances
            without explicitly set ``engine``
            (``'dot'``, ``'neato'``, ...).

    Returns:
        The old default value used for ``engine``.
    """
    from . import parameters

    parameters.verify_engine(engine)

    old_default_engine = parameters.Parameters._engine
    parameters.Parameters._engine = engine
    return old_default_engine


def set_default_format(format: str) -> str:
    """Change the default ``format`` and return the old default value.

    Args:
        format: new default ``format``
            used by all present and newly created instances
            without explicitly set ``format``
            (``'pdf'``, ``'png'``, ...).

    Returns:
        The old default value used for ``format``.
    """
    from . import parameters

    parameters.verify_format(format)

    old_default_format = parameters.Parameters._format
    parameters.Parameters._format = format
    return old_default_format


def set_jupyter_format(jupyter_format: str) -> str:
    """Change the default mimetype format for ``_repr_mimebundle_()`` and return the old value.

    Args:
        jupyter_format: new default IPython/Jupyter display format
            used by all present and newly created instances
            (``'svg'``, ``'png'``, ...).

    Returns:
        The old default value used for IPython/Jupyter display format.
    """
    from . import jupyter_integration

    mimetype = jupyter_integration.get_jupyter_format_mimetype(jupyter_format)

    old_mimetype = jupyter_integration.JupyterIntegration._jupyter_mimetype
    old_format = jupyter_integration.get_jupyter_mimetype_format(old_mimetype)

    jupyter_integration.JupyterIntegration._jupyter_mimetype = mimetype
    return old_format