|
|
|
@ -208,10 +208,14 @@ class Diagram:
|
|
|
|
try:
|
|
|
|
try:
|
|
|
|
self.render()
|
|
|
|
self.render()
|
|
|
|
finally:
|
|
|
|
finally:
|
|
|
|
if os.path.exists(self.filename):
|
|
|
|
try:
|
|
|
|
# Remove the graphviz file leaving only the image.
|
|
|
|
if os.path.exists(self.filename) and os.path.isfile(self.filename):
|
|
|
|
os.remove(self.filename)
|
|
|
|
# Remove the graphviz file leaving only the image.
|
|
|
|
|
|
|
|
os.remove(self.filename)
|
|
|
|
|
|
|
|
except OSError:
|
|
|
|
|
|
|
|
pass
|
|
|
|
setdiagram(None)
|
|
|
|
setdiagram(None)
|
|
|
|
|
|
|
|
setcluster(None)
|
|
|
|
|
|
|
|
|
|
|
|
def _repr_png_(self):
|
|
|
|
def _repr_png_(self):
|
|
|
|
return self.dot.pipe(format="png")
|
|
|
|
return self.dot.pipe(format="png")
|
|
|
|
@ -316,11 +320,13 @@ class Cluster:
|
|
|
|
return self
|
|
|
|
return self
|
|
|
|
|
|
|
|
|
|
|
|
def __exit__(self, exc_type, exc_value, traceback):
|
|
|
|
def __exit__(self, exc_type, exc_value, traceback):
|
|
|
|
if self._parent:
|
|
|
|
try:
|
|
|
|
self._parent.subgraph(self.dot)
|
|
|
|
if self._parent:
|
|
|
|
else:
|
|
|
|
self._parent.subgraph(self.dot)
|
|
|
|
self._diagram.subgraph(self.dot)
|
|
|
|
else:
|
|
|
|
setcluster(self._parent)
|
|
|
|
self._diagram.subgraph(self.dot)
|
|
|
|
|
|
|
|
finally:
|
|
|
|
|
|
|
|
setcluster(self._parent)
|
|
|
|
|
|
|
|
|
|
|
|
def _validate_direction(self, direction: str) -> bool:
|
|
|
|
def _validate_direction(self, direction: str) -> bool:
|
|
|
|
return direction.upper() in self.__directions
|
|
|
|
return direction.upper() in self.__directions
|
|
|
|
|