From d32e236cc99ec1b5de198466fe0966752adeb805 Mon Sep 17 00:00:00 2001 From: Alessandro Berti Date: Thu, 29 Feb 2024 12:38:02 +0100 Subject: [PATCH] fix(pm4py): fixed incongruency in BPMN visualizer --- pm4py/visualization/bpmn/variants/classic.py | 41 ++++++++++++++++++++ pm4py/visualization/bpmn/visualizer.py | 16 +++----- 2 files changed, 47 insertions(+), 10 deletions(-) diff --git a/pm4py/visualization/bpmn/variants/classic.py b/pm4py/visualization/bpmn/variants/classic.py index c69a1fe3e..52e19d54d 100644 --- a/pm4py/visualization/bpmn/variants/classic.py +++ b/pm4py/visualization/bpmn/variants/classic.py @@ -4,6 +4,8 @@ from graphviz import Digraph from typing import Optional, Dict, Any from pm4py.objects.bpmn.obj import BPMN +from pm4py.visualization.common import gview +from pm4py.visualization.common import save as gsave from pm4py.util import constants import graphviz @@ -82,3 +84,42 @@ def apply(bpmn_graph: BPMN, parameters: Optional[Dict[Any, Any]] = None) -> grap return viz + +def save(gviz: graphviz.Digraph, output_file_path: str, parameters=None): + """ + Save the diagram + + Parameters + ----------- + gviz + GraphViz diagram + output_file_path + Path where the GraphViz output should be saved + """ + gsave.save(gviz, output_file_path, parameters=parameters) + return "" + + +def view(gviz: graphviz.Digraph, parameters=None): + """ + View the diagram + + Parameters + ----------- + gviz + GraphViz diagram + """ + return gview.view(gviz, parameters=parameters) + + +def matplotlib_view(gviz: graphviz.Digraph, parameters=None): + """ + Views the diagram using Matplotlib + + Parameters + --------------- + gviz + Graphviz + """ + + return gview.matplotlib_view(gviz, parameters=parameters) diff --git a/pm4py/visualization/bpmn/visualizer.py b/pm4py/visualization/bpmn/visualizer.py index 3ec97f83a..f8ebebd7f 100644 --- a/pm4py/visualization/bpmn/visualizer.py +++ b/pm4py/visualization/bpmn/visualizer.py @@ -1,8 +1,6 @@ from pm4py.visualization.bpmn.variants import classic from pm4py.util import exec_utils from enum import Enum -from pm4py.visualization.common import gview -from pm4py.visualization.common import save as gsave from pm4py.visualization.common.gview import serialize, serialize_dot from typing import Optional, Dict, Any from pm4py.objects.bpmn.obj import BPMN @@ -38,7 +36,7 @@ def apply(bpmn_graph: BPMN, variant=DEFAULT_VARIANT, parameters: Optional[Dict[A return exec_utils.get_variant(variant).apply(bpmn_graph, parameters=parameters) -def save(gviz: graphviz.Digraph, output_file_path: str, parameters=None): +def save(gviz: graphviz.Digraph, output_file_path: str, variant=DEFAULT_VARIANT, parameters=None): """ Save the diagram @@ -49,11 +47,10 @@ def save(gviz: graphviz.Digraph, output_file_path: str, parameters=None): output_file_path Path where the GraphViz output should be saved """ - gsave.save(gviz, output_file_path, parameters=parameters) - return "" + return exec_utils.get_variant(variant).save(gviz, output_file_path, parameters=parameters) -def view(gviz: graphviz.Digraph, parameters=None): +def view(gviz: graphviz.Digraph, variant=DEFAULT_VARIANT, parameters=None): """ View the diagram @@ -62,10 +59,10 @@ def view(gviz: graphviz.Digraph, parameters=None): gviz GraphViz diagram """ - return gview.view(gviz, parameters=parameters) + return exec_utils.get_variant(variant).view(gviz, parameters=parameters) -def matplotlib_view(gviz: graphviz.Digraph, parameters=None): +def matplotlib_view(gviz: graphviz.Digraph, variant=DEFAULT_VARIANT, parameters=None): """ Views the diagram using Matplotlib @@ -74,5 +71,4 @@ def matplotlib_view(gviz: graphviz.Digraph, parameters=None): gviz Graphviz """ - - return gview.matplotlib_view(gviz, parameters=parameters) + return exec_utils.get_variant(variant).matplotlib_view(gviz, parameters=parameters)