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

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

27 statements  

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

2 

3import typing 

4 

5from . import engines 

6from . import formats 

7from . import renderers 

8from . import formatters 

9 

10__all__ = ['Parameters'] 

11 

12 

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

14 renderers.Renderer, formatters.Formatter): 

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

16 

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) 

28 

29 if format is None: 

30 format = self.format 

31 elif verify: 

32 self._verify_format(format) 

33 

34 if renderer is None: 

35 renderer = self.renderer 

36 elif verify: 

37 self._verify_renderer(renderer) 

38 

39 if formatter is None: 

40 formatter = self.formatter 

41 elif verify: 

42 self._verify_formatter(formatter) 

43 

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

45 renderer=renderer, formatter=formatter) 

46 return kwargs