Skip to content

Commit

Permalink
fix(pm4py): fixed incongruency in BPMN visualizer
Browse files Browse the repository at this point in the history
  • Loading branch information
fit-alessandro-berti committed Feb 29, 2024
1 parent b40821d commit d32e236
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 10 deletions.
41 changes: 41 additions & 0 deletions pm4py/visualization/bpmn/variants/classic.py
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down Expand Up @@ -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)
16 changes: 6 additions & 10 deletions pm4py/visualization/bpmn/visualizer.py
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand All @@ -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
Expand All @@ -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)

0 comments on commit d32e236

Please sign in to comment.