tol-sdk 1.7.5b3__py3-none-any.whl → 1.7.5b4__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.
- tol/core/data_object_converter.py +2 -1
- tol/flows/converters/__init__.py +1 -0
- tol/flows/converters/skip_null_fields_converter.py +42 -0
- {tol_sdk-1.7.5b3.dist-info → tol_sdk-1.7.5b4.dist-info}/METADATA +1 -1
- {tol_sdk-1.7.5b3.dist-info → tol_sdk-1.7.5b4.dist-info}/RECORD +9 -8
- {tol_sdk-1.7.5b3.dist-info → tol_sdk-1.7.5b4.dist-info}/WHEEL +0 -0
- {tol_sdk-1.7.5b3.dist-info → tol_sdk-1.7.5b4.dist-info}/entry_points.txt +0 -0
- {tol_sdk-1.7.5b3.dist-info → tol_sdk-1.7.5b4.dist-info}/licenses/LICENSE +0 -0
- {tol_sdk-1.7.5b3.dist-info → tol_sdk-1.7.5b4.dist-info}/top_level.txt +0 -0
tol/flows/converters/__init__.py
CHANGED
|
@@ -55,3 +55,4 @@ from .tolqc_species_to_elastic_species_converter import TolqcSpeciesToElasticSpe
|
|
|
55
55
|
from .sts_sample_to_casm_benchling_converter import StsSampleToCasmBenchlingConverterFactory # noqa F401
|
|
56
56
|
from .treeofsex_species_to_treeofsexwh_species_converter import TreeofsexSpeciesToTreeofsexwhSpeciesConverter # noqa F401
|
|
57
57
|
from .treeofsex_upload_to_treeofsex_attribute_converter import TreeofsexUploadToTreeofsexAttributeConverter # noqa F401
|
|
58
|
+
from .skip_null_fields_converter import SkipNullFieldsConverter # noqa F401
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
# SPDX-FileCopyrightText: 2025 Genome Research Ltd.
|
|
2
|
+
# SPDX-License-Identifier: MIT
|
|
3
|
+
|
|
4
|
+
from dataclasses import dataclass
|
|
5
|
+
from typing import Iterable
|
|
6
|
+
|
|
7
|
+
from tol.core import DataObject, DataObjectToDataObjectOrUpdateConverter
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
class SkipNullFieldsConverter(DataObjectToDataObjectOrUpdateConverter):
|
|
11
|
+
|
|
12
|
+
@dataclass(slots=True, frozen=True, kw_only=True)
|
|
13
|
+
class Config:
|
|
14
|
+
field_names: list[str]
|
|
15
|
+
|
|
16
|
+
__slots__ = ['__config']
|
|
17
|
+
__config: Config
|
|
18
|
+
|
|
19
|
+
def __init__(self, data_object_factory, config: Config) -> None:
|
|
20
|
+
super().__init__(data_object_factory)
|
|
21
|
+
self.__config = config
|
|
22
|
+
self._data_object_factory = data_object_factory
|
|
23
|
+
|
|
24
|
+
def convert(self, data_object: DataObject) -> Iterable[DataObject]:
|
|
25
|
+
"""
|
|
26
|
+
removing null fields from the DataObject
|
|
27
|
+
"""
|
|
28
|
+
|
|
29
|
+
passes = True
|
|
30
|
+
for field in self.__config.field_names:
|
|
31
|
+
value = data_object.get_field_by_name(field)
|
|
32
|
+
if value is None:
|
|
33
|
+
passes = False
|
|
34
|
+
break
|
|
35
|
+
|
|
36
|
+
if passes:
|
|
37
|
+
ret = self._data_object_factory(
|
|
38
|
+
data_object.type,
|
|
39
|
+
data_object.id,
|
|
40
|
+
attributes=data_object.attributes
|
|
41
|
+
)
|
|
42
|
+
yield ret
|
|
@@ -89,7 +89,7 @@ tol/core/attribute_metadata.py,sha256=wYD3NXDdStrpkUZoyTUiEpp7c14f7MLIcyooT1G4GE
|
|
|
89
89
|
tol/core/core_converter.py,sha256=Gn4J507BtqDjnOWV2MFRYGz8YElJAKQItmnCrD72s7k,4504
|
|
90
90
|
tol/core/data_loader.py,sha256=k-ET1nIohIz6PcADbEn9Y7k9TupoiBYxKDkcAl_9pGY,14710
|
|
91
91
|
tol/core/data_object.py,sha256=GxG04JMcICaiHU1rufkhoD8jb9YQLhE0QWlFU2ZkQsM,4241
|
|
92
|
-
tol/core/data_object_converter.py,sha256=
|
|
92
|
+
tol/core/data_object_converter.py,sha256=FUNUXGi5FIdIe34B0g32hhRf8GGzWTHW7vLhb1GXG6E,3783
|
|
93
93
|
tol/core/data_source_attribute_metadata.py,sha256=NHvJ_Gmw7-Oej1MoFCohvq4f6emDJ2HF483UmW2Qd_c,4407
|
|
94
94
|
tol/core/data_source_dict.py,sha256=d-hSmoWTwG6IOc0cQTLap1EBslsxYIWGUd3ScSoeH_Q,1705
|
|
95
95
|
tol/core/datasource.py,sha256=e9GaeDPfO_Gs7cgQhmNxCiSDlRNf64reegzFebcMNkA,6303
|
|
@@ -148,7 +148,7 @@ tol/flows/__init__.py,sha256=M7iSvnBJs6fJ8M38cW0bYQa9WW0TN8FHAMjIHPDNAJ4,166
|
|
|
148
148
|
tol/flows/logger.py,sha256=rWXbaknGcPEZRFvC1CiB1qkhFRZsQk435w7VyJ3cpyw,170
|
|
149
149
|
tol/flows/secrets.py,sha256=1mlbsxaahzYRfVAx3XdztHOmUCtDMSJDzHysdbaCtj0,352
|
|
150
150
|
tol/flows/sequencing_submissions.py,sha256=ukz_y5be-BCBN2y3JPQ2EK6b3jwOCh-187j-jnw3EUY,11027
|
|
151
|
-
tol/flows/converters/__init__.py,sha256=
|
|
151
|
+
tol/flows/converters/__init__.py,sha256=ZSF9i-32mVsV4-rNYjA6TrIEPrgku5svCF8lz6HEqf8,6231
|
|
152
152
|
tol/flows/converters/benchling_entity_to_benchling_worklist_item_converter_factory.py,sha256=PN27fcvN4JLBnLrtPPAot1cWjAwPQHVcIDoMfPDeKzU,1210
|
|
153
153
|
tol/flows/converters/benchling_extraction_to_elastic_extraction_converter.py,sha256=S8pbmIeKlcXrLPRJHYBUGP0-Q7jTOV2QQk2TeA2naWo,1966
|
|
154
154
|
tol/flows/converters/benchling_extraction_to_elastic_sequencing_request_converter.py,sha256=2RiyRvGRSWzpUwEI4p-s0afshJpFUUxPqv2z-nyDSVg,1992
|
|
@@ -188,6 +188,7 @@ tol/flows/converters/labwhere_location_to_sts_tray_converter.py,sha256=dSBP5Hfdv
|
|
|
188
188
|
tol/flows/converters/mlwh_extraction_to_elastic_extraction_converter.py,sha256=047eU_3Zb3ZlJ8utrk3o_VW7jifv5VO0WxgmFg-QkaE,1195
|
|
189
189
|
tol/flows/converters/mlwh_run_data_to_elastic_run_data_converter.py,sha256=f0I_N8DH_9Kom4Fpl_O7hKTUPPiURWeyhxWN3XFLmLk,1313
|
|
190
190
|
tol/flows/converters/mlwh_sequencing_request_to_elastic_sequencing_request_converter.py,sha256=zXYkq37qsvHEY7O1zh2vOoMBdt8hE7T1SuFIOR2DQrM,1209
|
|
191
|
+
tol/flows/converters/skip_null_fields_converter.py,sha256=IlLrX31XWpQ58indW-hk9eApMunu2HGFhMConYDmxtU,1226
|
|
191
192
|
tol/flows/converters/sts_banked_sample_to_elastic_sample_converter.py,sha256=HK_3Q60E6CKCT8YSWbZXu0Wqs2mmBLYhcD0OEwXM4Qs,688
|
|
192
193
|
tol/flows/converters/sts_manifest_to_elastic_manifest_converter.py,sha256=Ko3ulOFXXYaZB1YUiwu_HPlP5oPZeI65hViAZ05cioQ,1806
|
|
193
194
|
tol/flows/converters/sts_project_to_elastic_sample_update_converter.py,sha256=b-hdbusSgbWDg7KwPXOVsaxzznZg0kGJcYpvvs4LDHU,623
|
|
@@ -339,9 +340,9 @@ tol/validators/unique_values.py,sha256=o5IrfUNLEmlEp8kpInTtFnTq-FqiHSC9TItKdf-LI
|
|
|
339
340
|
tol/validators/unique_whole_organisms.py,sha256=RdqA1GzIf3LTdrmNGGdxv0aW2udDY2P9EaqZb40hhik,5735
|
|
340
341
|
tol/validators/interfaces/__init__.py,sha256=jtOxnwnwqV_29xjmmMcS_kvlt-pQiWwQYJn2YRP07_w,172
|
|
341
342
|
tol/validators/interfaces/condition_evaluator.py,sha256=nj8Cb8hi47OBy6OVNfeLhF-Pjwtr8MiOSymYL6hfVes,3766
|
|
342
|
-
tol_sdk-1.7.
|
|
343
|
-
tol_sdk-1.7.
|
|
344
|
-
tol_sdk-1.7.
|
|
345
|
-
tol_sdk-1.7.
|
|
346
|
-
tol_sdk-1.7.
|
|
347
|
-
tol_sdk-1.7.
|
|
343
|
+
tol_sdk-1.7.5b4.dist-info/licenses/LICENSE,sha256=RF9Jacy-9BpUAQQ20INhTgtaNBkmdTolYCHtrrkM2-8,1077
|
|
344
|
+
tol_sdk-1.7.5b4.dist-info/METADATA,sha256=ZR7pMG-jGHoasPgY1zqvDMJMc4rm4rbqRi0hiC5pyN4,3081
|
|
345
|
+
tol_sdk-1.7.5b4.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
346
|
+
tol_sdk-1.7.5b4.dist-info/entry_points.txt,sha256=jH3HfTwxjzog7E3lq8CKpUWGIRY9FSXbyL6CpUmv6D0,36
|
|
347
|
+
tol_sdk-1.7.5b4.dist-info/top_level.txt,sha256=PwKMQLphyZNvagBoriVbl8uwHXQl8IC1niawVG0iXMM,10
|
|
348
|
+
tol_sdk-1.7.5b4.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|