tricc-oo 1.5.0__py3-none-any.whl → 1.5.3__py3-none-any.whl

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.
@@ -6,19 +6,19 @@ from tricc_oo.models.calculate import *
6
6
  TYPE_MAP = {
7
7
  TriccNodeType.start: {
8
8
  "objects": ["UserObject", "object"],
9
- "attributes": ['process', 'parent', 'form_id','relevance'],
9
+ "attributes": ['process', 'parent', 'form_id','relevance',"priority"],
10
10
  "mandatory_attributes": ["label"],
11
11
  "model": TriccNodeMainStart
12
12
  },
13
13
  TriccNodeType.activity_start: {
14
14
  "objects": ["UserObject", "object"],
15
- "attributes": ['parent', 'parent', 'instance', 'relevance'],
15
+ "attributes": ['parent', 'parent', 'instance', 'relevance',"priority"],
16
16
  "mandatory_attributes": ["label", "name"],
17
17
  "model": TriccNodeActivityStart
18
18
  },
19
19
  TriccNodeType.note: {
20
20
  "objects": ["UserObject", "object"],
21
- "attributes": ['relevance'],
21
+ "attributes": ['relevance',"priority"],
22
22
  "mandatory_attributes": ["label", "name"],
23
23
  "model": TriccNodeNote
24
24
  },
@@ -44,6 +44,7 @@ TYPE_MAP = {
44
44
  "constraint",
45
45
  "constraint_message",
46
46
  "relevance",
47
+ "priority"
47
48
 
48
49
  ],
49
50
  "mandatory_attributes": ["label", "name", "list_name"],
@@ -59,6 +60,7 @@ TYPE_MAP = {
59
60
  "constraint",
60
61
  "constraint_message",
61
62
  "relevance",
63
+ "priority"
62
64
  ],
63
65
  "mandatory_attributes": ["label", "name", "list_name"],
64
66
  "model": TriccNodeSelectMultiple
@@ -73,6 +75,7 @@ TYPE_MAP = {
73
75
  "constraint_message",
74
76
  "required",
75
77
  "relevance",
78
+ "priority"
76
79
  ],
77
80
  "mandatory_attributes": ["label", "name"],
78
81
  "model": TriccNodeDecimal
@@ -87,6 +90,8 @@ TYPE_MAP = {
87
90
  "constraint_message",
88
91
  "required",
89
92
  "relevance",
93
+ "priority"
94
+
90
95
  ],
91
96
  "mandatory_attributes": ["label", "name"],
92
97
  "model": TriccNodeInteger
@@ -94,13 +99,13 @@ TYPE_MAP = {
94
99
 
95
100
  TriccNodeType.text: {
96
101
  "objects": ["UserObject", "object"],
97
- "attributes": ["save", "relevance"],
102
+ "attributes": ["save", "relevance","priority"],
98
103
  "mandatory_attributes": ["label", 'name'],
99
104
  "model": TriccNodeText
100
105
  },
101
106
  TriccNodeType.date: {
102
107
  "objects": ["UserObject", "object"],
103
- "attributes": ["save", "relevance"],
108
+ "attributes": ["save", "relevance","priority"],
104
109
  "mandatory_attributes": ["label", "name"],
105
110
  "model": TriccNodeDate
106
111
  },
@@ -154,7 +159,7 @@ TYPE_MAP = {
154
159
  "filter",
155
160
  "constraint",
156
161
  "constraint_message",
157
- "relevance",
162
+ "relevance","priority"
158
163
  ],
159
164
  "mandatory_attributes": ["label", "name", "list_name"],
160
165
  "model": TriccNodeSelectYesNo
@@ -173,7 +178,7 @@ TYPE_MAP = {
173
178
  },
174
179
  TriccNodeType.goto: {
175
180
  "objects": ["UserObject", "object"],
176
- "attributes": ["instance"],
181
+ "attributes": ["instance","priority"],
177
182
  "mandatory_attributes": ["link", "label", "name"],
178
183
  "model": TriccNodeGoTo
179
184
  },
@@ -191,13 +196,13 @@ TYPE_MAP = {
191
196
  },
192
197
  TriccNodeType.bridge: {
193
198
  "objects": ["UserObject", "object"],
194
- "attributes": ["label"],
199
+ "attributes": ["label","priority"],
195
200
  "mandatory_attributes": [],
196
201
  "model": TriccNodeBridge
197
202
  },
198
203
  TriccNodeType.diagnosis: {
199
204
  "objects": ["UserObject", "object"],
200
- "attributes": ["save", "reference"],
205
+ "attributes": ["save", "reference","priority"],
201
206
  "mandatory_attributes": [ "name", 'label'],
202
207
  "model": TriccNodeDiagnosis
203
208
  },
@@ -518,7 +518,7 @@ def inject_bridge_path(node, nodes):
518
518
  )
519
519
  )
520
520
  ]
521
- if (
521
+ if ( len(prev_nodes)>1 and
522
522
  sum(
523
523
  [
524
524
  (
@@ -53,6 +53,7 @@ class TriccNodeCount(TriccNodeDisplayCalculateBase):
53
53
  class TriccNodeProposedDiagnosis(TriccNodeDisplayCalculateBase):
54
54
  tricc_type: TriccNodeType = TriccNodeType.proposed_diagnosis
55
55
  severity: str = None
56
+ priority: Union[float, int, None] = None
56
57
 
57
58
  class TriccNodeFakeCalculateBase(TriccNodeCalculateBase):
58
59
  ...
@@ -130,6 +131,7 @@ class TriccNodeRhombus(TriccNodeCalculateBase,TriccRhombusMixIn):
130
131
  class TriccNodeDiagnosis(TriccNodeDisplayCalculateBase):
131
132
  tricc_type: TriccNodeType = TriccNodeType.diagnosis
132
133
  severity: str = None
134
+ priority: Union[float, int, None] = None
133
135
  def __init__(self, **data):
134
136
  data['reference'] = f'"final.{data["name"]}" is true'
135
137
  super().__init__(**data)
tricc_oo/models/tricc.py CHANGED
@@ -237,7 +237,7 @@ class TriccNodeDisplayModel(TriccNodeBaseModel):
237
237
  help: Optional[Union[str, TriccNodeBaseModel]] = None
238
238
  group: Optional[Union[TriccGroup, TriccNodeActivity]] = None
239
239
  relevance: Optional[Union[Expression, TriccOperation]] = None
240
-
240
+ priority: Union[float, int, None] = None
241
241
 
242
242
  # to use the enum value of the TriccNodeType
243
243
 
@@ -348,6 +348,7 @@ class TriccNodeSelectYesNo(TriccNodeSelectOne):
348
348
 
349
349
  class TriccNodeAcceptDiagnostic(TriccNodeSelectOne):
350
350
  severity: Optional[str] = None
351
+ priority: Union[float, int, None] = None
351
352
 
352
353
 
353
354
  class TriccParentMixIn(BaseModel):
@@ -67,7 +67,7 @@ def get_last_version(name, processed_nodes, _list=None):
67
67
  # node is the node to calculate
68
68
  # processed_nodes are the list of processed nodes
69
69
  def get_node_expressions(node, processed_nodes, process=None):
70
- is_calculate = issubclass(node.__class__, TriccNodeCalculateBase)
70
+ is_calculate = issubclass(node.__class__, TriccNodeCalculateBase) and not issubclass(node.__class__, (TriccNodeDisplayBridge,TriccNodeBridge))
71
71
  expression = None
72
72
  # in case of recursive call processed_nodes will be None
73
73
  if processed_nodes is None or is_ready_to_process(node, processed_nodes=processed_nodes):
@@ -369,7 +369,7 @@ def get_bridge_path(prev_nodes, node=None,edge_only=False):
369
369
  'path_len': node.path_len + 1 * (node == p_p_node)
370
370
  }
371
371
 
372
- if sum([0 if issubclass(n.__class__, (TriccNodeDisplayCalculateBase, TriccNodeRhombus)) else 1 for n in prev_nodes])>0 : #and len(node.prev_nodes)>1:
372
+ if len(prev_nodes)>1 and sum([0 if issubclass(n.__class__, (TriccNodeDisplayCalculateBase, TriccNodeRhombus)) else 1 for n in prev_nodes])>0 :
373
373
  calc= TriccNodeDisplayBridge( **data)
374
374
  else:
375
375
  calc = TriccNodeBridge( **data)
@@ -1416,31 +1416,30 @@ def reorder_node_list(list_node, group, processed_nodes):
1416
1416
 
1417
1417
  # Define a lambda to assign numeric priorities
1418
1418
  def filter_logic(l_node):
1419
-
1419
+ priority = (getattr(l_node, "priority", None) or 0) / 100
1420
1420
  if (
1421
1421
  isinstance(l_node, TriccNodeWait)
1422
1422
  and any(isinstance(rn, TriccNodeActivity) and any(sn.activity == rn for sn in list_node) for rn in l_node.reference)
1423
1423
  ):
1424
- return 7
1424
+ pass
1425
1425
  elif group is not None and hasattr(l_node, 'group') and l_node.group and l_node.group.id == group.id:
1426
- return 0 # Highest priority: Same group
1426
+ priority += 7 # Highest priority: Same group
1427
1427
  elif issubclass(l_node.__class__, TriccRhombusMixIn) :
1428
- return 6
1428
+ priority += 1
1429
1429
  elif hasattr(group, 'group') and group.group and l_node.group and l_node.group.id == group.group.id:
1430
- return 1 # Second priority: Parent group
1430
+ priority += 6 # Second priority: Parent group
1431
1431
  elif not isinstance(l_node.activity.root, TriccNodeActivityStart) and l_node.activity in active_activities:
1432
- return 2 # Third priority: Active activities
1432
+ priority += 5 # Third priority: Active activities
1433
1433
  elif not isinstance(l_node.activity.root, TriccNodeActivityStart):
1434
- return 3 # Third priority: Active activities
1434
+ priority += 4 # Third priority: Active activities
1435
1435
  elif l_node.activity in active_activities:
1436
- return 4 # Third priority: Active activities
1437
-
1438
-
1436
+ priority += 3 # Third priority: Active activities
1439
1437
  else:
1440
- return 5 # Lowest priority: Others
1438
+ priority += 2 # Lowest priority: Others
1439
+ return priority
1441
1440
 
1442
1441
  # Sort list_node in place using filter_logic as the key
1443
- list_node.sort(key=filter_logic, reverse=False)
1442
+ list_node.sort(key=filter_logic, reverse=True)
1444
1443
  return None
1445
1444
 
1446
1445
  def loop_info(loop, **kwargs):
@@ -1530,7 +1529,7 @@ def get_node_expression( in_node, processed_nodes, is_calculate=False, is_prev=F
1530
1529
  prev_exp = get_node_expression(
1531
1530
  node.path,
1532
1531
  processed_nodes=processed_nodes,
1533
- is_calculate=is_calculate,
1532
+ is_calculate=False,
1534
1533
  is_prev=True,
1535
1534
  process=process)
1536
1535
  if prev_exp and expression:
@@ -1700,7 +1699,7 @@ def get_accept_diagnostic_node(code, display, severity, activity):
1700
1699
  node.options = get_select_accept_reject_options(node, node.activity)
1701
1700
  return node
1702
1701
 
1703
- def get_diagnostic_node(code, display, severity, activity):
1702
+ def get_diagnostic_node(code, display, severity, priority, activity):
1704
1703
  node = TriccNodeAcceptDiagnostic(
1705
1704
  id=generate_id("final." + code),
1706
1705
  name="final." + code,
@@ -1708,7 +1707,9 @@ def get_diagnostic_node(code, display, severity, activity):
1708
1707
  list_name="acc_rej",
1709
1708
  activity=activity,
1710
1709
  group=activity,
1711
- severity=severity
1710
+ severity=severity,
1711
+ priority=priority
1712
+
1712
1713
  )
1713
1714
  node.options = get_select_accept_reject_options(node, node.activity)
1714
1715
  return node
@@ -1760,7 +1761,7 @@ def create_determine_diagnosis_activity(diags):
1760
1761
  )
1761
1762
  activity.nodes[end.id]=end
1762
1763
  for proposed in diags:
1763
- d = get_diagnostic_node(proposed.name, proposed.label, proposed.severity, activity)
1764
+ d = get_diagnostic_node(proposed.name, proposed.label, proposed.severity, proposed.priority, activity)
1764
1765
  diags_conf.append(d)
1765
1766
  r = TriccNodeRhombus(
1766
1767
  id=generate_id(f"proposed-rhombus{proposed.id}"),
@@ -1782,7 +1783,7 @@ def create_determine_diagnosis_activity(diags):
1782
1783
  # fallback
1783
1784
  f = TriccNodeSelectMultiple(
1784
1785
  name="tricc.manual.diag",
1785
- label="Add a diagnostic",
1786
+ label="Add diagnosis",
1786
1787
  list_name='manual_diag',
1787
1788
  id=generate_id("tricc.manual.diag"),
1788
1789
  activity=activity,
@@ -1817,17 +1818,42 @@ def get_prev_node_expression( node, processed_nodes, is_calculate=False, exclude
1817
1818
  expression_inputs = node.expression_inputs
1818
1819
  expression_inputs = clean_or_list(expression_inputs)
1819
1820
  else:
1820
- expression_inputs = []
1821
+ expression_inputs = []
1822
+ prev_activities = {}
1821
1823
  for prev_node in node.prev_nodes:
1822
- if excluded_name is None or prev_node != excluded_name or (
1823
- isinstance(excluded_name, str) and hasattr(prev_node, 'name') and prev_node.name != excluded_name): # or isinstance(prev_node, TriccNodeActivityEnd):
1824
- # the rhombus should calculate only reference
1825
- add_sub_expression(expression_inputs, get_node_expression(
1826
- prev_node,
1827
- processed_nodes=processed_nodes,
1828
- is_calculate=is_calculate,
1829
- is_prev=True,
1830
- 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 )
1831
1857
  # avoid void is there is not conditions to avoid looping too much itme
1832
1858
  # expression_inputs = clean_or_list(
1833
1859
  # [
@@ -1836,12 +1862,8 @@ def get_prev_node_expression( node, processed_nodes, is_calculate=False, exclude
1836
1862
  # else e
1837
1863
  # for e in expression_inputs])
1838
1864
 
1839
- expression = None
1840
- if len(expression_inputs) == 1:
1841
- expression = expression_inputs[0]
1842
-
1843
- elif expression_inputs:
1844
- expression = or_join(
1865
+ if expression_inputs:
1866
+ expression = or_join(
1845
1867
  expression_inputs
1846
1868
  )
1847
1869
  # if isinstance(node, TriccNodeExclusive):
@@ -2068,7 +2090,7 @@ def get_rhombus_terms( node, processed_nodes, is_calculate=False, negate=False,
2068
2090
  exit(1)
2069
2091
 
2070
2092
  if expression is not None:
2071
- if isinstance(expression, TriccOperation):
2093
+ if isinstance(expression, (TriccOperation, TriccStatic)):
2072
2094
  return expression
2073
2095
  elif issubclass(expression.__class__ , TriccNodeCalculateBase):
2074
2096
  return TriccOperation(
@@ -182,6 +182,7 @@ def get_task_js(form_id, calculate_name, title, form_types, hidden_names, df_sur
182
182
  /* eslint-disable */
183
183
 
184
184
  const {{injectDataFromForm, isFormArrayHasSourceId}} = require('./stph-extras');
185
+ const {{getField}} = require("./nools-extras");
185
186
 
186
187
  const CASE_DATA = ['{"','".join(hidden_names)}'];
187
188
 
@@ -216,7 +217,9 @@ function {task_name}ResolveIf(contact, report, event, dueDate) {{
216
217
  }}
217
218
 
218
219
  function {task_name}AppliesIf(contact, report, event, dueDate) {{
219
- return report.{calculate_name} === '1';
220
+ return getField(report, "source_id") === "" &&
221
+ getField(report, "pause_test") === "1"
222
+
220
223
  }}
221
224
 
222
225
  module.exports = {{
@@ -247,6 +250,7 @@ module.exports = {{
247
250
  // appliesTo: 'reports',
248
251
  // appliesToType: {task_name_upper}_FORMS,
249
252
  // appliesIf: {task_name}AppliesIf,
253
+ // contactLabel: {task_name}ContactLabel,
250
254
  // actions: [
251
255
  // {{
252
256
  // type: 'report',
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tricc-oo
3
- Version: 1.5.0
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
@@ -6,21 +6,21 @@ tricc_oo/converters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSu
6
6
  tricc_oo/converters/codesystem_to_ocl.py,sha256=-ZKMBeIvzgqmhJfnn6ptuwpnHQtuE-fCDDfKpfGvUSU,6066
7
7
  tricc_oo/converters/cql_to_operation.py,sha256=bsVD4HO5Zr2clHuIWz86gIUnI7aZ676IXDK5S7x32_o,14439
8
8
  tricc_oo/converters/datadictionnary.py,sha256=WWKcTtKLfc4aduHcDBhr4JSfU2NqRMaslwX-wdZPIAw,3968
9
- tricc_oo/converters/drawio_type_map.py,sha256=6ZcnQMtBU1dhf_NP_s0iX1DvRf0qS7-3UAe_WAPFVoQ,7027
9
+ tricc_oo/converters/drawio_type_map.py,sha256=6jkWza3lYM8_LyqPI-cB36J6eywUoXz2ChNACMczGgA,7230
10
10
  tricc_oo/converters/tricc_to_xls_form.py,sha256=bJVd-FLrivrCxGI6mO2i0V7GVVuJZdaDuwcEf3gHNR8,2327
11
11
  tricc_oo/converters/utils.py,sha256=UyndDORsDbRV5-gYW-yInK5ztjtYdeCw6K-mrYr1Emk,1688
12
- tricc_oo/converters/xml_to_tricc.py,sha256=IO6jL1ljhrkWnPTe5EsQCfJ4wUoYitLH2P7TIJm4A9I,37457
12
+ tricc_oo/converters/xml_to_tricc.py,sha256=GDaANkzSMZw6YwN5mevG7x7TQcaEt9zyOlsJ83tPBig,37480
13
13
  tricc_oo/converters/cql/cqlLexer.py,sha256=t0-QvDv5kxCiBZJ9SfDumFOgnRSry_HJpakBZV224Ig,49126
14
14
  tricc_oo/converters/cql/cqlListener.py,sha256=ketvj7XvO7t047S6A3_gTPvp2MlYk1bojmkl10v5E6Y,57523
15
15
  tricc_oo/converters/cql/cqlParser.py,sha256=hIUdR907WX24P2Jlrxk-H0IT94n51yh_ZsCmwQhnFas,414730
16
16
  tricc_oo/converters/cql/cqlVisitor.py,sha256=SWSDIqVYBhucR4VgLn_EPNs7LV9yCqsOmzFZ0bmRSGc,33865
17
17
  tricc_oo/models/__init__.py,sha256=Rdk1fsNXHrbmXTQD1O7i0NC_A6os648Ap6CtWRliOg8,92
18
18
  tricc_oo/models/base.py,sha256=_jJMYKvP60gaQSvzmA3TORrcRgv0oF5xG0FEBsE_Nhk,24399
19
- tricc_oo/models/calculate.py,sha256=Bw7OGa4OYxHP529wA23CZftMYDL_CA0SPQ0j1IFyTNA,7456
19
+ tricc_oo/models/calculate.py,sha256=mQ6FbeSwb9qlRiA5DZpW6KREF4k5Zbc1TnmhXhxiznI,7546
20
20
  tricc_oo/models/lang.py,sha256=SwKaoxyRhE7gH_ZlYyFXzGuTQ5RE19y47LWAA35zYxg,2338
21
21
  tricc_oo/models/ocl.py,sha256=ol35Gl1jCBp0Ven0yxOKzDIZkVL5Kx9uwaR_64pjxKI,8931
22
22
  tricc_oo/models/ordered_set.py,sha256=wbbmppjgKy0xcKD9kIAbT4kgNkuwTILPxRw_KAAoPEY,4178
23
- tricc_oo/models/tricc.py,sha256=32WvBVBShODBlszdXSoCjisd5gpt6CM_TNabJap1Zfs,16509
23
+ tricc_oo/models/tricc.py,sha256=OdTrhivtGxTRAn0H4mg3qghVu67QUfncaTKuioZVrWA,16598
24
24
  tricc_oo/parsers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
25
25
  tricc_oo/parsers/xml.py,sha256=vq9PA5Zt4G3QMtZ1zgyN8110O1w19Jqt6JClJYhHJlU,4410
26
26
  tricc_oo/serializers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -37,10 +37,10 @@ tricc_oo/strategies/output/xlsform_cdss.py,sha256=8oLlgS1Hr6IVvI0O71kIk5oIKXbt2l
37
37
  tricc_oo/strategies/output/xlsform_cht.py,sha256=QcWcmXqIoaQWqLU2cILqnU7ybKYBs2Xd6cUL0gSr3gw,20148
38
38
  tricc_oo/strategies/output/xlsform_cht_hf.py,sha256=0D_H68a2S7oLKJENEePaRGIocrRIF45BofHlLOtGsKo,2206
39
39
  tricc_oo/visitors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
- tricc_oo/visitors/tricc.py,sha256=5xJpFb6ne9NtcVCfkc_c5jzOv2JINKS9WTui9VIpZHA,97875
40
+ tricc_oo/visitors/tricc.py,sha256=qwbjhgjUZsfNuGPscNBNVxSMl6JEci1H-2eqjFI6CH8,99105
41
41
  tricc_oo/visitors/utils.py,sha256=Gol4JNozPEd30Q1l8IPIPhx5fqVyy9R81GofGVebgD8,484
42
- tricc_oo/visitors/xform_pd.py,sha256=RkKSfW9853Xm5IvZ-nQ7PKxupY7OyOvlUJFdVOrY_fs,9555
43
- tricc_oo-1.5.0.dist-info/METADATA,sha256=P7up5bjCoX7hG3A_ZzMtKa-uGTk7aQE8W0HaCeuFUuE,7877
44
- tricc_oo-1.5.0.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
45
- tricc_oo-1.5.0.dist-info/top_level.txt,sha256=NvbfMNAiy9m4b1unBsqpeOQWh4IgA1Xa33BtKA4abxk,15
46
- tricc_oo-1.5.0.dist-info/RECORD,,
42
+ tricc_oo/visitors/xform_pd.py,sha256=jgjBLbfElVdi0NmClhw6NK6qNcIgWYm4KMXfVwiQwXM,9705
43
+ tricc_oo-1.5.3.dist-info/METADATA,sha256=1Mc29DAWwOaE6eZctpKEE0kwdPDFmUndPrF6BnsIgLg,7877
44
+ tricc_oo-1.5.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
45
+ tricc_oo-1.5.3.dist-info/top_level.txt,sha256=NvbfMNAiy9m4b1unBsqpeOQWh4IgA1Xa33BtKA4abxk,15
46
+ tricc_oo-1.5.3.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.8.0)
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5