diff --git a/Dockerfile b/Dockerfile index 7d3dc6105..f68fd5510 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,9 +9,9 @@ RUN apt-get -y install libopenblas-dev liblapack-dev libboost-all-dev libncurses RUN python3 -m pip install --upgrade pip RUN pip3 install deprecation==2.1.0 graphviz==0.20.3 intervaltree==3.1.0 networkx==3.3 packaging==24.0 python-dateutil==2.9.0.post0 pytz==2024.1 setuptools==69.5.1 six==1.16.0 sortedcontainers==2.4.0 tzdata==2024.1 wheel==0.43.0 RUN pip3 install colorama==0.4.6 cycler==0.12.1 pydotplus==2.0.2 pyparsing==3.1.2 tqdm==4.66.4 -RUN pip3 install lxml==5.2.1 numpy==1.26.4 pandas==2.2.2 scipy==1.13.0 +RUN pip3 install lxml==5.2.2 numpy==1.26.4 pandas==2.2.2 scipy==1.13.0 RUN pip3 install contourpy==1.2.1 fonttools==4.51.0 kiwisolver==1.4.5 matplotlib==3.8.4 pillow==10.3.0 -RUN pip3 install anyio==4.3.0 asttokens==2.4.1 attrs==23.2.0 certifi==2024.2.2 charset-normalizer==3.3.2 convertdate==2.4.0 decorator==5.1.1 distro==1.9.0 executing==2.0.1 h11==0.14.0 httpcore==1.0.5 httpx==0.27.0 idna==3.7 ipython==8.24.0 jedi==0.19.1 Jinja2==3.1.3 jsonpickle==3.0.4 jsonschema-specifications==2023.12.1 lunardate==0.2.2 MarkupSafe==2.1.5 matplotlib-inline==0.1.7 parso==0.8.4 prompt-toolkit==3.0.43 pure-eval==0.2.2 pydantic==2.7.1 Pygments==2.17.2 pyluach==2.2.0 PyMeeus==0.5.12 referencing==0.35.1 rpds-py==0.18.0 sniffio==1.3.1 stack-data==0.6.3 traitlets==5.14.3 typing_extensions==4.11.0 urllib3==2.2.1 wcwidth==0.2.13 +RUN pip3 install anyio==4.3.0 asttokens==2.4.1 attrs==23.2.0 certifi==2024.2.2 charset-normalizer==3.3.2 convertdate==2.4.0 decorator==5.1.1 distro==1.9.0 executing==2.0.1 h11==0.14.0 httpcore==1.0.5 httpx==0.27.0 idna==3.7 ipython==8.24.0 jedi==0.19.1 Jinja2==3.1.4 jsonpickle==3.0.4 jsonschema-specifications==2023.12.1 lunardate==0.2.2 MarkupSafe==2.1.5 matplotlib-inline==0.1.7 parso==0.8.4 prompt-toolkit==3.0.43 pure-eval==0.2.2 pydantic==2.7.1 Pygments==2.18.0 pyluach==2.2.0 PyMeeus==0.5.12 referencing==0.35.1 rpds-py==0.18.1 sniffio==1.3.1 stack-data==0.6.3 traitlets==5.14.3 typing_extensions==4.11.0 urllib3==2.2.1 wcwidth==0.2.13 RUN pip3 install -U meson-python==0.15.0 Cython==3.0.10 ninja==1.11.1.1 spin==0.8 build==1.2.1 setuptools_scm==8.0.4 #RUN cd / && git clone https://github.com/numpy/numpy.git && cd /numpy && git submodule update --init && pip3 install . diff --git a/pm4py/objects/bpmn/importer/variants/lxml.py b/pm4py/objects/bpmn/importer/variants/lxml.py index 8526ea98c..ee85f42f1 100644 --- a/pm4py/objects/bpmn/importer/variants/lxml.py +++ b/pm4py/objects/bpmn/importer/variants/lxml.py @@ -231,6 +231,12 @@ def parse_element(bpmn_graph, counts, curr_el, parents, incoming_dict, outgoing_ for seq_flow_id in outgoing_dict: if outgoing_dict[seq_flow_id][0] in nodes_dict: outgoing_dict[seq_flow_id] = (nodes_dict[outgoing_dict[seq_flow_id][0]], outgoing_dict[seq_flow_id][1], outgoing_dict[seq_flow_id][2], outgoing_dict[seq_flow_id][3]) + + # also supports flows without waypoints + flows_without_waypoints = set(flow_info).union(set(outgoing_dict).intersection(set(incoming_dict))) + for flow_id in flows_without_waypoints: + flow_info[flow_id] = [] + for flow_id in flow_info: if flow_id in outgoing_dict and flow_id in incoming_dict: if isinstance(outgoing_dict[flow_id][0], BPMN.BPMNNode) and isinstance(incoming_dict[flow_id][0], BPMN.BPMNNode): diff --git a/requirements_stable.txt b/requirements_stable.txt index 545f939ac..11c2dfe3d 100644 --- a/requirements_stable.txt +++ b/requirements_stable.txt @@ -6,7 +6,7 @@ fonttools==4.51.0 graphviz==0.20.3 intervaltree==3.1.0 kiwisolver==1.4.5 -lxml==5.2.1 +lxml==5.2.2 matplotlib==3.8.4 networkx==3.3 numpy==1.26.4 diff --git a/third_party/LICENSES_TRANSITIVE.md b/third_party/LICENSES_TRANSITIVE.md index b8b4aaa6f..8273c7ebb 100644 --- a/third_party/LICENSES_TRANSITIVE.md +++ b/third_party/LICENSES_TRANSITIVE.md @@ -14,7 +14,7 @@ | graphviz | https://pypi.org/project/graphviz | MIT License (MIT) | 0.20.3 | | intervaltree | https://pypi.org/project/intervaltree | Apache Software License (Apache License, Version 2.0) | 3.1.0 | | kiwisolver | https://pypi.org/project/kiwisolver | BSD License | 1.4.5 | -| lxml | https://pypi.org/project/lxml | BSD License (BSD-3-Clause) | 5.2.1 | +| lxml | https://pypi.org/project/lxml | BSD License (BSD-3-Clause) | 5.2.2 | | matplotlib | https://pypi.org/project/matplotlib | Python Software Foundation License (PSF) | 3.8.4 | | networkx | https://pypi.org/project/networkx | BSD License | 3.3 | | numpy | https://pypi.org/project/numpy | BSD License | 1.26.4 |