tricc-oo 1.5.26__tar.gz → 1.5.28__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 (55) hide show
  1. {tricc_oo-1.5.26/tricc_oo.egg-info → tricc_oo-1.5.28}/PKG-INFO +1 -1
  2. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/pyproject.toml +1 -1
  3. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/converters/tricc_to_xls_form.py +3 -1
  4. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/serializers/xls_form.py +1 -1
  5. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/strategies/output/openmrs_form.py +2 -2
  6. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/strategies/output/xls_form.py +6 -17
  7. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/visitors/tricc.py +8 -2
  8. {tricc_oo-1.5.26 → tricc_oo-1.5.28/tricc_oo.egg-info}/PKG-INFO +1 -1
  9. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/LICENSE +0 -0
  10. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/README.md +0 -0
  11. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/setup.cfg +0 -0
  12. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tests/build.py +0 -0
  13. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tests/test_cql.py +0 -0
  14. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tests/to_ocl.py +0 -0
  15. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/__init__.py +0 -0
  16. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/converters/__init__.py +0 -0
  17. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/converters/codesystem_to_ocl.py +0 -0
  18. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/converters/cql/cqlLexer.py +0 -0
  19. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/converters/cql/cqlListener.py +0 -0
  20. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/converters/cql/cqlParser.py +0 -0
  21. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/converters/cql/cqlVisitor.py +0 -0
  22. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/converters/cql_to_operation.py +0 -0
  23. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/converters/datadictionnary.py +0 -0
  24. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/converters/drawio_type_map.py +0 -0
  25. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/converters/utils.py +0 -0
  26. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/converters/xml_to_tricc.py +0 -0
  27. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/models/__init__.py +0 -0
  28. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/models/base.py +0 -0
  29. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/models/calculate.py +0 -0
  30. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/models/lang.py +0 -0
  31. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/models/ocl.py +0 -0
  32. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/models/ordered_set.py +0 -0
  33. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/models/tricc.py +0 -0
  34. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/parsers/__init__.py +0 -0
  35. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/parsers/xml.py +0 -0
  36. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/serializers/__init__.py +0 -0
  37. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/serializers/planuml.py +0 -0
  38. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/strategies/__init__.py +0 -0
  39. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/strategies/input/__init__.py +0 -0
  40. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/strategies/input/base_input_strategy.py +0 -0
  41. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/strategies/input/drawio.py +0 -0
  42. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/strategies/output/base_output_strategy.py +0 -0
  43. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/strategies/output/fhir_form.py +0 -0
  44. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/strategies/output/html_form.py +0 -0
  45. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/strategies/output/spice.py +0 -0
  46. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/strategies/output/xlsform_cdss.py +0 -0
  47. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/strategies/output/xlsform_cht.py +0 -0
  48. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/strategies/output/xlsform_cht_hf.py +0 -0
  49. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/visitors/__init__.py +0 -0
  50. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/visitors/utils.py +0 -0
  51. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo/visitors/xform_pd.py +0 -0
  52. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo.egg-info/SOURCES.txt +0 -0
  53. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo.egg-info/dependency_links.txt +0 -0
  54. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/tricc_oo.egg-info/requires.txt +0 -0
  55. {tricc_oo-1.5.26 → tricc_oo-1.5.28}/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.26
3
+ Version: 1.5.28
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.26"
7
+ version = "1.5.28"
8
8
  description = "Python library that converts CDSS L2 in L3"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.8"
@@ -51,10 +51,12 @@ def get_export_name(node, replace_dots=True):
51
51
  export_name = BOOLEAN_MAP[str(TRICC_TRUE_VALUE)]
52
52
  elif value == TRICC_FALSE_VALUE:
53
53
  export_name = BOOLEAN_MAP[str(TRICC_FALSE_VALUE)]
54
+ elif value == '$this':
55
+ export_name = '.'
54
56
  elif isinstance(value, str):
55
57
  export_name = f"'{clean_str(value, replace_dots=replace_dots)}'"
56
58
  else:
57
- export_name = str(value)
59
+ export_name = value
58
60
  if hasattr(node, 'export_name'):
59
61
  node.export_name = export_name
60
62
  return export_name
@@ -376,7 +376,7 @@ def get_attr_if_exists(strategy, node, column, map_array):
376
376
 
377
377
  elif isinstance(value, (TriccOperation, TriccStatic, TriccReference)):
378
378
  expression = strategy.get_tricc_operation_expression(value)
379
- return expression.replace("$this", ".") if isinstance(expression, str) else expression
379
+ return expression
380
380
  elif value is not None:
381
381
  return str(value) if not isinstance(value, dict) else value
382
382
  else:
@@ -439,7 +439,7 @@ class OpenMRSStrategy(BaseOutPutStrategy):
439
439
  if len(ref_expressions) == 1:
440
440
  return ref_expressions[0]
441
441
  if len(ref_expressions) > 1:
442
- return " || ".join(ref_expressions)
442
+ return "(" + " || ".join(ref_expressions) + ")"
443
443
  else:
444
444
  return "true"
445
445
 
@@ -472,7 +472,7 @@ class OpenMRSStrategy(BaseOutPutStrategy):
472
472
  return f"({ref_expressions[0]}.includes({ref_expressions[1]}))"
473
473
 
474
474
  def tricc_operation_count(self, ref_expressions):
475
- return f"({ref_expressions[0]}.length)"
475
+ return f"({ref_expressions[0]}.length || 0)"
476
476
 
477
477
  def tricc_operation_multiplied(self, ref_expressions):
478
478
  return "*".join(ref_expressions)
@@ -131,7 +131,7 @@ class XLSFormStrategy(BaseOutPutStrategy):
131
131
  return generate_xls_form_export(self, node, **kwargs)
132
132
 
133
133
  def inject_version(self):
134
- # Add hidden version field using ODK's jr:version()
134
+ # Add hidden version field using ODK's version()
135
135
  empty = langs.get_trads("", force_dict=True)
136
136
  self.df_survey.loc[len(self.df_survey)] = [
137
137
  "hidden",
@@ -148,7 +148,7 @@ class XLSFormStrategy(BaseOutPutStrategy):
148
148
  "", # required
149
149
  *list(empty.values()), # required_message
150
150
  "", # read only
151
- "jr:version()", # calculation
151
+ "version()", # calculation
152
152
  "", # trigger
153
153
  "", # repeat_count
154
154
  "", # image
@@ -399,7 +399,7 @@ class XLSFormStrategy(BaseOutPutStrategy):
399
399
  # build lower level
400
400
  if hasattr(self, f"tricc_operation_{operation.operator}"):
401
401
  callable = getattr(self, f"tricc_operation_{operation.operator}")
402
- return callable(ref_expressions)
402
+ return callable(list(map(str, ref_expressions)))
403
403
  else:
404
404
  raise NotImplementedError(
405
405
  f"This type of opreation '{operation.operator}' is not supported in this strategy"
@@ -460,9 +460,9 @@ class XLSFormStrategy(BaseOutPutStrategy):
460
460
  return "1"
461
461
 
462
462
  def tricc_operation_native(self, ref_expressions):
463
-
463
+
464
464
  if len(ref_expressions) > 0:
465
- if ref_expressions[0].startswith(("'","`",)):
465
+ if ref_expressions[0].startswith(("'", "`",)):
466
466
  ref_expressions[0] = ref_expressions[0][1:-1]
467
467
  if ref_expressions[0] == "GetChoiceName":
468
468
  return f"""jr:choice-name({
@@ -723,19 +723,8 @@ class XLSFormStrategy(BaseOutPutStrategy):
723
723
  elif isinstance(r, TriccReference):
724
724
  logger.warning(f"reference `{r.value}` still used in a calculate")
725
725
  return f"${{{get_export_name(r.value)}}}"
726
- elif isinstance(r, TriccStatic):
726
+ elif isinstance(r, (TriccStatic, str, int, float)):
727
727
  return get_export_name(r)
728
- elif isinstance(r, str):
729
- if r == TRICC_TRUE_VALUE:
730
- return BOOLEAN_MAP[str(TRICC_TRUE_VALUE)]
731
- elif r == TRICC_FALSE_VALUE:
732
- return BOOLEAN_MAP[str(TRICC_FALSE_VALUE)]
733
- elif isinstance(r, str):
734
- return f"'{r}'"
735
- else:
736
- return str(r)
737
- elif isinstance(r, (int, float)):
738
- return str(r)
739
728
  elif isinstance(r, TriccNodeSelectOption):
740
729
  logger.debug(f"select option {r.get_name()} from {r.select.get_name()} was used as a reference")
741
730
  return get_export_name(r)
@@ -2613,10 +2613,16 @@ def generate_base(node, processed_nodes, **kwargs):
2613
2613
  constraints_min = ""
2614
2614
  constraints_max = ""
2615
2615
  if node.min is not None and node.min != "":
2616
- constraints.append(TriccOperation(TriccOperator.MORE_OR_EQUAL, ["$this", node.min]))
2616
+ node.min = float(node.min)
2617
+ if int(node.min) == node.min:
2618
+ node.min = int(node.min)
2619
+ constraints.append(TriccOperation(TriccOperator.MORE_OR_EQUAL, ["$this", TriccStatic(node.min)]))
2617
2620
  constraints_min = "The minimun value is {0}.".format(node.min)
2618
2621
  if node.max is not None and node.max != "":
2619
- constraints.append(TriccOperation(TriccOperator.LESS_OR_EQUAL, ["$this", node.max]))
2622
+ node.max = float(node.max)
2623
+ if int(node.max) == node.max:
2624
+ node.max = int(node.max)
2625
+ constraints.append(TriccOperation(TriccOperator.LESS_OR_EQUAL, ["$this", TriccStatic(node.max)]))
2620
2626
  constraints_max = "The maximum value is {0}.".format(node.max)
2621
2627
  if len(constraints) > 1:
2622
2628
  node.constraint = TriccOperation(TriccOperator.AND, constraints)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tricc-oo
3
- Version: 1.5.26
3
+ Version: 1.5.28
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