diff --git a/diagrams/__init__.py b/diagrams/__init__.py index 66c3458f..bbeb1da1 100644 --- a/diagrams/__init__.py +++ b/diagrams/__init__.py @@ -80,6 +80,7 @@ class Diagram: self, name: str = "", filename: str = "", + directory: Union[str, os.PathLike] = "", direction: str = "LR", curvestyle: str = "ortho", outformat: Union[str, list[str]] = "png", @@ -117,7 +118,10 @@ class Diagram: elif not filename: filename = "_".join(self.name.split()).lower() self.filename = filename - self.dot = Digraph(self.name, filename=self.filename, strict=strict) + self.directory = directory + self.dot = Digraph( + self.name, filename=self.filename, directory=directory, strict=strict + ) # Set attributes. for k, v in self._default_graph_attrs.items(): @@ -164,7 +168,8 @@ class Diagram: def __exit__(self, exc_type, exc_value, traceback): self.render() # Remove the graphviz file leaving only the image. - os.remove(self.filename) + path = os.path.join(self.directory, self.filename) + os.remove(path) setdiagram(None) def _repr_png_(self):