tricc-oo 1.5.2__tar.gz → 1.5.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. {tricc_oo-1.5.2/tricc_oo.egg-info → tricc_oo-1.5.3}/PKG-INFO +1 -1
  2. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/pyproject.toml +1 -1
  3. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/visitors/tricc.py +37 -16
  4. {tricc_oo-1.5.2 → tricc_oo-1.5.3/tricc_oo.egg-info}/PKG-INFO +2 -2
  5. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/README.md +0 -0
  6. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/setup.cfg +0 -0
  7. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tests/build.py +0 -0
  8. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tests/test_cql.py +0 -0
  9. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tests/to_ocl.py +0 -0
  10. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/__init__.py +0 -0
  11. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/converters/__init__.py +0 -0
  12. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/converters/codesystem_to_ocl.py +0 -0
  13. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/converters/cql/cqlLexer.py +0 -0
  14. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/converters/cql/cqlListener.py +0 -0
  15. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/converters/cql/cqlParser.py +0 -0
  16. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/converters/cql/cqlVisitor.py +0 -0
  17. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/converters/cql_to_operation.py +0 -0
  18. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/converters/datadictionnary.py +0 -0
  19. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/converters/drawio_type_map.py +0 -0
  20. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/converters/tricc_to_xls_form.py +0 -0
  21. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/converters/utils.py +0 -0
  22. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/converters/xml_to_tricc.py +0 -0
  23. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/models/__init__.py +0 -0
  24. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/models/base.py +0 -0
  25. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/models/calculate.py +0 -0
  26. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/models/lang.py +0 -0
  27. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/models/ocl.py +0 -0
  28. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/models/ordered_set.py +0 -0
  29. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/models/tricc.py +0 -0
  30. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/parsers/__init__.py +0 -0
  31. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/parsers/xml.py +0 -0
  32. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/serializers/__init__.py +0 -0
  33. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/serializers/planuml.py +0 -0
  34. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/serializers/xls_form.py +0 -0
  35. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/strategies/__init__.py +0 -0
  36. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/strategies/input/__init__.py +0 -0
  37. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/strategies/input/base_input_strategy.py +0 -0
  38. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/strategies/input/drawio.py +0 -0
  39. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/strategies/output/base_output_strategy.py +0 -0
  40. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/strategies/output/spice.py +0 -0
  41. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/strategies/output/xls_form.py +0 -0
  42. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/strategies/output/xlsform_cdss.py +0 -0
  43. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/strategies/output/xlsform_cht.py +0 -0
  44. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/strategies/output/xlsform_cht_hf.py +0 -0
  45. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/visitors/__init__.py +0 -0
  46. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/visitors/utils.py +0 -0
  47. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo/visitors/xform_pd.py +0 -0
  48. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo.egg-info/SOURCES.txt +0 -0
  49. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo.egg-info/dependency_links.txt +0 -0
  50. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo.egg-info/requires.txt +0 -0
  51. {tricc_oo-1.5.2 → tricc_oo-1.5.3}/tricc_oo.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tricc-oo
3
- Version: 1.5.2
3
+ Version: 1.5.3
4
4
  Summary: Python library that converts CDSS L2 in L3
5
5
  Project-URL: Homepage, https://github.com/SwissTPH/tricc
6
6
  Project-URL: Issues, https://github.com/SwissTPH/tricc/issues
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "tricc-oo"
7
- version = "1.5.2"
7
+ version = "1.5.3"
8
8
  description = "Python library that converts CDSS L2 in L3"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.8"
@@ -1818,17 +1818,42 @@ def get_prev_node_expression( node, processed_nodes, is_calculate=False, exclude
1818
1818
  expression_inputs = node.expression_inputs
1819
1819
  expression_inputs = clean_or_list(expression_inputs)
1820
1820
  else:
1821
- expression_inputs = []
1821
+ expression_inputs = []
1822
+ prev_activities = {}
1822
1823
  for prev_node in node.prev_nodes:
1823
- if excluded_name is None or prev_node != excluded_name or (
1824
- isinstance(excluded_name, str) and hasattr(prev_node, 'name') and prev_node.name != excluded_name): # or isinstance(prev_node, TriccNodeActivityEnd):
1825
- # the rhombus should calculate only reference
1826
- add_sub_expression(expression_inputs, get_node_expression(
1827
- prev_node,
1828
- processed_nodes=processed_nodes,
1829
- is_calculate=is_calculate,
1830
- is_prev=True,
1831
- process=process))
1824
+ if prev_node.activity.id not in prev_activities:
1825
+ prev_activities[prev_node.activity.id]=[]
1826
+ prev_activities[prev_node.activity.id].append(prev_node)
1827
+
1828
+ for act_id in prev_activities:
1829
+ for prev_node in prev_activities[act_id]:
1830
+ act_expression_inputs = []
1831
+ if excluded_name is None or prev_node != excluded_name or (
1832
+ isinstance(excluded_name, str) and hasattr(prev_node, 'name') and prev_node.name != excluded_name): # or isinstance(prev_node, TriccNodeActivityEnd):
1833
+ # the rhombus should calculate only reference
1834
+ sub = get_node_expression(
1835
+ prev_node,
1836
+ processed_nodes=processed_nodes,
1837
+ is_calculate=is_calculate,
1838
+ is_prev=True,
1839
+ process=process)
1840
+ if not isinstance(node, TriccNodeActivity):
1841
+ add_sub_expression(expression_inputs, sub )
1842
+ else:
1843
+ add_sub_expression(act_expression_inputs, sub )
1844
+
1845
+ if act_expression_inputs:
1846
+ act_sub = or_join(act_expression_inputs)
1847
+ if act_sub == TriccStatic(True):
1848
+ act_sub = get_node_expression(
1849
+ prev_node.activity,
1850
+ processed_nodes=processed_nodes,
1851
+ is_calculate=True,
1852
+ is_prev=True,
1853
+ negate=False,
1854
+ process=process
1855
+ )
1856
+ add_sub_expression(expression_inputs, act_sub )
1832
1857
  # avoid void is there is not conditions to avoid looping too much itme
1833
1858
  # expression_inputs = clean_or_list(
1834
1859
  # [
@@ -1837,12 +1862,8 @@ def get_prev_node_expression( node, processed_nodes, is_calculate=False, exclude
1837
1862
  # else e
1838
1863
  # for e in expression_inputs])
1839
1864
 
1840
- expression = None
1841
- if len(expression_inputs) == 1:
1842
- expression = expression_inputs[0]
1843
-
1844
- elif expression_inputs:
1845
- expression = or_join(
1865
+ if expression_inputs:
1866
+ expression = or_join(
1846
1867
  expression_inputs
1847
1868
  )
1848
1869
  # if isinstance(node, TriccNodeExclusive):
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: tricc-oo
3
- Version: 1.5.2
3
+ Version: 1.5.3
4
4
  Summary: Python library that converts CDSS L2 in L3
5
5
  Project-URL: Homepage, https://github.com/SwissTPH/tricc
6
6
  Project-URL: Issues, https://github.com/SwissTPH/tricc/issues
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes