Method: pylint.pyreverse.dot_printer.DotPrinter.generate
Calls: 11, Exceptions: 0, Paths: 1Back
Path 1: 11 calls (1.0)
'classes.dot' (2) 'packages_No_Name.dot' (2) 'classes_No_Name.dot' (2) 'packages_colorized.dot' (2) 'classes_colorized.dot' (2) '/private/var/folders/...
1def generate(self, outputfile: str) -> None:
2 self._close_graph()
3 graphviz_extensions = ("dot", "gv")
4 name = self.title
5 if outputfile is None:
6 target = "png"
7 pdot, dot_sourcepath = tempfile.mkstemp(".gv", name)
8 ppng, outputfile = tempfile.mkstemp(".png", name)
9 os.close(pdot)
10 os.close(ppng)
11 else:
12 target = Path(outputfile).suffix.lstrip(".")
13 if not target:
14 target = "png"
15 outputfile = outputfile + "." + target
16 if target not in graphviz_extensions:
17 pdot, dot_sourcepath = tempfile.mkstemp(".gv", name)
18 os.close(pdot)
19 else:
20 dot_sourcepath = outputfile
21 with open(dot_sourcepath, "w", encoding="utf8") as outfile:
22 outfile.writelines(self.lines)
23 if target not in graphviz_extensions:
24 subprocess.run(
25 ["dot", "-T", target, dot_sourcepath, "-o", outputfile], check=True
26 )
27 os.unlink(dot_sourcepath)