Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/graphviz/parameters/mixins.py: 69%
26 statements
« prev ^ index » next coverage.py v7.2.2, created at 2023-03-26 06:43 +0000
« prev ^ index » next coverage.py v7.2.2, created at 2023-03-26 06:43 +0000
1"""Mixin classes used to inherit parameter functionality."""
3import typing
5from . import engines
6from . import formats
7from . import renderers
8from . import formatters
10__all__ = ['Parameters']
13class Parameters(engines.Engine, formats.Format,
14 renderers.Renderer, formatters.Formatter):
15 """Parameters for calling ``graphviz.render()`` and ``graphviz.pipe()``."""
17 def _get_parameters(self, *,
18 engine: typing.Optional[str] = None,
19 format: typing.Optional[str] = None,
20 renderer: typing.Optional[str] = None,
21 formatter: typing.Optional[str] = None,
22 verify: bool = False,
23 **kwargs):
24 if engine is None:
25 engine = self.engine
26 elif verify:
27 self._verify_engine(engine)
29 if format is None:
30 format = self.format
31 elif verify:
32 self._verify_format(format)
34 if renderer is None:
35 renderer = self.renderer
36 elif verify:
37 self._verify_renderer(renderer)
39 if formatter is None:
40 formatter = self.formatter
41 elif verify:
42 self._verify_formatter(formatter)
44 kwargs.update(engine=engine, format=format,
45 renderer=renderer, formatter=formatter)
46 return kwargs