Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.11/site-packages/graphviz/parameters/mixins.py: 69%

Shortcuts on this page

r m x   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

26 statements  

1"""Mixin classes used to inherit parameter functionality.""" 

2 

3from . import engines 

4from . import formats 

5from . import renderers 

6from . import formatters 

7 

8__all__ = ['Parameters'] 

9 

10 

11class Parameters(engines.Engine, formats.Format, 

12 renderers.Renderer, formatters.Formatter): 

13 """Parameters for calling ``graphviz.render()`` and ``graphviz.pipe()``.""" 

14 

15 def _get_parameters(self, *, 

16 engine: str | None = None, 

17 format: str | None = None, 

18 renderer: str | None = None, 

19 formatter: str | None = None, 

20 verify: bool = False, 

21 **kwargs): 

22 if engine is None: 

23 engine = self.engine 

24 elif verify: 

25 self._verify_engine(engine) 

26 

27 if format is None: 

28 format = self.format 

29 elif verify: 

30 self._verify_format(format) 

31 

32 if renderer is None: 

33 renderer = self.renderer 

34 elif verify: 

35 self._verify_renderer(renderer) 

36 

37 if formatter is None: 

38 formatter = self.formatter 

39 elif verify: 

40 self._verify_formatter(formatter) 

41 

42 kwargs.update(engine=engine, format=format, 

43 renderer=renderer, formatter=formatter) 

44 return kwargs