labfreed 1.0.0a4__py3-none-any.whl → 1.0.0a6__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.
- labfreed/__init__.py +1 -1
- labfreed/pac_cat/category_base.py +1 -1
- labfreed/pac_cat/predefined_categories.py +52 -4
- {labfreed-1.0.0a4.dist-info → labfreed-1.0.0a6.dist-info}/METADATA +1 -1
- {labfreed-1.0.0a4.dist-info → labfreed-1.0.0a6.dist-info}/RECORD +7 -7
- {labfreed-1.0.0a4.dist-info → labfreed-1.0.0a6.dist-info}/WHEEL +0 -0
- {labfreed-1.0.0a4.dist-info → labfreed-1.0.0a6.dist-info}/licenses/LICENSE +0 -0
labfreed/__init__.py
CHANGED
|
@@ -116,9 +116,9 @@ class Material_Consumable(PredefinedCategory):
|
|
|
116
116
|
return self
|
|
117
117
|
|
|
118
118
|
class Material_Misc(Material_Consumable):
|
|
119
|
-
'''Represents the -
|
|
119
|
+
'''Represents the -MX category'''
|
|
120
120
|
# same fields as Consumable
|
|
121
|
-
key: str = Field(default='-
|
|
121
|
+
key: str = Field(default='-MX', frozen=True)
|
|
122
122
|
product_number:str|None = Field( alias='240')
|
|
123
123
|
batch_number:str|None = Field(default=None, alias='10')
|
|
124
124
|
packaging_size:str|None = Field(default=None, alias='20')
|
|
@@ -187,15 +187,63 @@ class Data_Static(Data_Abstract):
|
|
|
187
187
|
additional_segments: list[IDSegment] = Field(default_factory=list, exclude=True)
|
|
188
188
|
''' Category segments, which are not defined in the specification'''
|
|
189
189
|
|
|
190
|
+
class Data_Misc(Data_Abstract):
|
|
191
|
+
'''Represents the -DX category'''
|
|
192
|
+
key: str = Field(default='-DX', frozen=True)
|
|
193
|
+
id:str|None = Field( alias='21')
|
|
194
|
+
additional_segments: list[IDSegment] = Field(default_factory=list, exclude=True)
|
|
195
|
+
''' Category segments, which are not defined in the specification'''
|
|
196
|
+
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
|
|
200
|
+
class Processor_Abstract(PredefinedCategory, ABC):
|
|
201
|
+
'''@private'''
|
|
202
|
+
key: str
|
|
203
|
+
processor_instance:str|None = Field( alias='21')
|
|
204
|
+
processor_code:str|None = Field( alias='240')
|
|
205
|
+
additional_segments: list[IDSegment] = Field(default_factory=list, exclude=True)
|
|
206
|
+
''' Category segments, which are not defined in the specification'''
|
|
207
|
+
|
|
208
|
+
@model_validator(mode='after')
|
|
209
|
+
def _validate_mandatory_fields(self):
|
|
210
|
+
if not self.id:
|
|
211
|
+
self._add_validation_message(
|
|
212
|
+
source=f"Category {self.key}",
|
|
213
|
+
level = ValidationMsgLevel.ERROR,
|
|
214
|
+
msg=f"Category key {self.key} is missing mandatory field 'processor instance'",
|
|
215
|
+
highlight_pattern = f"{self.key}"
|
|
216
|
+
)
|
|
217
|
+
return self
|
|
218
|
+
|
|
219
|
+
class Processor_Software(Processor_Abstract):
|
|
220
|
+
'''Represents the -PS category'''
|
|
221
|
+
key: str = Field(default='-PS', frozen=True)
|
|
222
|
+
processor_instance:str|None = Field( alias='21')
|
|
223
|
+
processor_code:str|None = Field( alias='240')
|
|
224
|
+
additional_segments: list[IDSegment] = Field(default_factory=list, exclude=True)
|
|
225
|
+
''' Category segments, which are not defined in the specification'''
|
|
226
|
+
|
|
227
|
+
class Processor_Misc(Processor_Abstract):
|
|
228
|
+
'''Represents the -PX category'''
|
|
229
|
+
key: str = Field(default='-PX', frozen=True)
|
|
230
|
+
processor_instance:str|None = Field( alias='21')
|
|
231
|
+
processor_code:str|None = Field( alias='240')
|
|
232
|
+
additional_segments: list[IDSegment] = Field(default_factory=list, exclude=True)
|
|
233
|
+
''' Category segments, which are not defined in the specification'''
|
|
234
|
+
|
|
190
235
|
|
|
191
236
|
category_key_to_class_map = {
|
|
192
237
|
'-MD': Material_Device,
|
|
193
238
|
'-MS': Material_Substance,
|
|
194
239
|
'-MC': Material_Consumable,
|
|
195
|
-
'-
|
|
240
|
+
'-MX': Material_Misc,
|
|
196
241
|
'-DM': Data_Method,
|
|
197
242
|
'-DR': Data_Result,
|
|
198
243
|
'-DC': Data_Calibration,
|
|
199
244
|
'-DP': Data_Progress,
|
|
200
|
-
'-DS': Data_Static
|
|
245
|
+
'-DS': Data_Static,
|
|
246
|
+
'-DX': Data_Misc,
|
|
247
|
+
'-PS': Processor_Software,
|
|
248
|
+
'-PX': Processor_Misc
|
|
201
249
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
labfreed/__init__.py,sha256=
|
|
1
|
+
labfreed/__init__.py,sha256=QDD9hO42SH5U1i2nyJ30gD2f7LQKcGLPuewQwzxIxXQ,338
|
|
2
2
|
labfreed/labfreed_infrastructure.py,sha256=YZmU-kgopyB1tvpTR_k_uIt1Q2ezexMrWvu-HaP65IE,10104
|
|
3
3
|
labfreed/labfreed_extended/app/app_infrastructure.py,sha256=qn6KesHiOrhTPgXwMZNqFArKlWluxFbk5bgp5u8KDb8,3990
|
|
4
4
|
labfreed/labfreed_extended/app/formatted_print.py,sha256=DcwWP0ix1e_wYNIdceIp6cETkJdG2DqpU8Gs3aZAL40,1930
|
|
@@ -25,9 +25,9 @@ labfreed/pac_attributes/server/attribute_data_sources.py,sha256=gfaERhFrn3SIoSNR
|
|
|
25
25
|
labfreed/pac_attributes/server/server.py,sha256=_Rzi_vzX02o0g03lbm-fdg5AJHJnESDWD7cJEKRFs8w,8841
|
|
26
26
|
labfreed/pac_attributes/server/translation_data_sources.py,sha256=axALOqfP840sOSdVCRYtrens97mm-hpfONMUyuVlCrY,2145
|
|
27
27
|
labfreed/pac_cat/__init__.py,sha256=KNPtQzBD1XVohvG_ucOs7RJj-oi6biUTGB1k-T2o6pk,568
|
|
28
|
-
labfreed/pac_cat/category_base.py,sha256=
|
|
28
|
+
labfreed/pac_cat/category_base.py,sha256=D7BzsdF0-JIgag5L2XZJRF4T2LOH5RLh1MMszflkmV8,2526
|
|
29
29
|
labfreed/pac_cat/pac_cat.py,sha256=wcb_fhvgjS2xmqTsxS8_Oibvr1nsQt5zr8aUajLfK1E,5578
|
|
30
|
-
labfreed/pac_cat/predefined_categories.py,sha256=
|
|
30
|
+
labfreed/pac_cat/predefined_categories.py,sha256=U1Phgy-q4VKbMv3ruoa8uKKTlxkpZOKnWPqtHLzYUqU,11105
|
|
31
31
|
labfreed/pac_id/__init__.py,sha256=NGMbzkwQ4txKeT5pxdIZordwHO8J3_q84jzPanjKoHg,675
|
|
32
32
|
labfreed/pac_id/extension.py,sha256=NgLexs1LbRMMm4ETrn5m4EY2iWoMDgOTb0UV556jatQ,2227
|
|
33
33
|
labfreed/pac_id/id_segment.py,sha256=r5JU1SJuRXhZJJxy5T3xjrb598wIDTLpivSJhIUAzjQ,4526
|
|
@@ -64,7 +64,7 @@ labfreed/well_known_keys/labfreed/well_known_keys.py,sha256=p-hXwEEIs7p2SKn9DQeL
|
|
|
64
64
|
labfreed/well_known_keys/unece/UneceUnits.json,sha256=kwfQSp_nTuWbADfBBgqTWrvPl6XtM5SedEVLbMJrM7M,898953
|
|
65
65
|
labfreed/well_known_keys/unece/__init__.py,sha256=MSP9lmjg9_D9iqG9Yq2_ajYfQSNS9wIT7FXA1c--59M,122
|
|
66
66
|
labfreed/well_known_keys/unece/unece_units.py,sha256=J20d64H69qKDE3XlGdJoXIIh0G-d0jKoiIDsg9an5pk,1655
|
|
67
|
-
labfreed-1.0.
|
|
68
|
-
labfreed-1.0.
|
|
69
|
-
labfreed-1.0.
|
|
70
|
-
labfreed-1.0.
|
|
67
|
+
labfreed-1.0.0a6.dist-info/licenses/LICENSE,sha256=gHFOv9FRKHxO8cInP3YXyPoJnuNeqrvcHjaE_wPSsQ8,1100
|
|
68
|
+
labfreed-1.0.0a6.dist-info/WHEEL,sha256=G2gURzTEtmeR8nrdXUJfNiB3VYVxigPQ-bEQujpNiNs,82
|
|
69
|
+
labfreed-1.0.0a6.dist-info/METADATA,sha256=llcvfZgrszwp3i_ayvI5HSqO72pp7vRhJZ07-SKUp70,19740
|
|
70
|
+
labfreed-1.0.0a6.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|