dcicutils 8.13.3.1b9__py3-none-any.whl → 8.13.3.1b11__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.
- dcicutils/misc_utils.py +6 -5
- dcicutils/scripts/update_portal_object.py +5 -0
- dcicutils/structured_data.py +1 -1
- {dcicutils-8.13.3.1b9.dist-info → dcicutils-8.13.3.1b11.dist-info}/METADATA +1 -1
- {dcicutils-8.13.3.1b9.dist-info → dcicutils-8.13.3.1b11.dist-info}/RECORD +8 -8
- {dcicutils-8.13.3.1b9.dist-info → dcicutils-8.13.3.1b11.dist-info}/LICENSE.txt +0 -0
- {dcicutils-8.13.3.1b9.dist-info → dcicutils-8.13.3.1b11.dist-info}/WHEEL +0 -0
- {dcicutils-8.13.3.1b9.dist-info → dcicutils-8.13.3.1b11.dist-info}/entry_points.txt +0 -0
dcicutils/misc_utils.py
CHANGED
@@ -984,14 +984,15 @@ def str_to_bool(x: Optional[str]) -> Optional[bool]:
|
|
984
984
|
raise ValueError(f"An argument to str_or_bool must be a string or None: {x!r}")
|
985
985
|
|
986
986
|
|
987
|
-
def to_integer(value: str, fallback: Optional[Any] = None) -> Optional[Any]:
|
987
|
+
def to_integer(value: str, fallback: Optional[Any] = None, strict: bool = False) -> Optional[Any]:
|
988
988
|
try:
|
989
989
|
return int(value)
|
990
990
|
except Exception:
|
991
|
-
|
992
|
-
|
993
|
-
|
994
|
-
|
991
|
+
if strict is not True:
|
992
|
+
try:
|
993
|
+
return int(float(value))
|
994
|
+
except Exception:
|
995
|
+
pass
|
995
996
|
return fallback
|
996
997
|
|
997
998
|
|
@@ -165,6 +165,7 @@ def main():
|
|
165
165
|
update_action_name="PATCH",
|
166
166
|
patch_delete_fields=args.delete,
|
167
167
|
confirm=args.confirm, verbose=args.verbose, quiet=args.quiet, debug=args.debug)
|
168
|
+
args.delete = None
|
168
169
|
if args.upsert:
|
169
170
|
_post_or_patch_or_upsert(portal=portal,
|
170
171
|
file_or_directory=args.upsert,
|
@@ -173,6 +174,7 @@ def main():
|
|
173
174
|
update_action_name="UPSERT",
|
174
175
|
patch_delete_fields=args.delete,
|
175
176
|
confirm=args.confirm, verbose=args.verbose, quiet=args.quiet, debug=args.debug)
|
177
|
+
args.delete = None
|
176
178
|
|
177
179
|
if args.delete:
|
178
180
|
if not portal.get_metadata(args.delete, raise_exception=False):
|
@@ -256,14 +258,17 @@ def _post_or_patch_or_upsert(portal: Portal, file_or_directory: str,
|
|
256
258
|
_print(f"ERROR: Schema cannot be inferred from file name and --schema not specified: {file}")
|
257
259
|
continue
|
258
260
|
post_or_patch_or_upsert(portal, file_and_schema[0], schema_name=schema_name,
|
261
|
+
patch_delete_fields=patch_delete_fields,
|
259
262
|
confirm=confirm, quiet=quiet, verbose=verbose, debug=debug)
|
260
263
|
elif os.path.isfile(file := file_or_directory):
|
261
264
|
if ((schema_name := _get_schema_name_from_schema_named_json_file_name(portal, file)) or
|
262
265
|
(schema_name := explicit_schema_name)): # noqa
|
263
266
|
post_or_patch_or_upsert(portal, file, schema_name=schema_name,
|
267
|
+
patch_delete_fields=patch_delete_fields,
|
264
268
|
confirm=confirm, quiet=quiet, verbose=verbose, debug=debug)
|
265
269
|
else:
|
266
270
|
post_or_patch_or_upsert(portal, file, schema_name=schema_name,
|
271
|
+
patch_delete_fields=patch_delete_fields,
|
267
272
|
confirm=confirm, quiet=quiet, verbose=verbose, debug=debug)
|
268
273
|
# _print(f"ERROR: Schema cannot be inferred from file name and --schema not specified: {file}")
|
269
274
|
# return
|
dcicutils/structured_data.py
CHANGED
@@ -706,7 +706,7 @@ class Schema(SchemaBase):
|
|
706
706
|
|
707
707
|
def _map_function_integer(self, typeinfo: dict) -> Callable:
|
708
708
|
def map_integer(value: str, src: Optional[str]) -> Any:
|
709
|
-
return to_integer(value, value)
|
709
|
+
return to_integer(value, value, strict=True)
|
710
710
|
return map_integer
|
711
711
|
|
712
712
|
def _map_function_number(self, typeinfo: dict) -> Callable:
|
@@ -45,7 +45,7 @@ dcicutils/license_policies/park-lab-gpl-pipeline.jsonc,sha256=vLZkwm3Js-kjV44nug
|
|
45
45
|
dcicutils/license_policies/park-lab-pipeline.jsonc,sha256=9qlY0ASy3iUMQlr3gorVcXrSfRHnVGbLhkS427UaRy4,283
|
46
46
|
dcicutils/license_utils.py,sha256=2Yxnh1T1iuMe6wluwbvpFO_zYSGPxB4-STAMc-vz-YM,47202
|
47
47
|
dcicutils/log_utils.py,sha256=7pWMc6vyrorUZQf-V-M3YC6zrPgNhuV_fzm9xqTPph0,10883
|
48
|
-
dcicutils/misc_utils.py,sha256
|
48
|
+
dcicutils/misc_utils.py,sha256=YRUjQ4Yg7GapOGxN_KWB96hcl1XJVGr24ktHZvD9g6A,109492
|
49
49
|
dcicutils/obfuscation_utils.py,sha256=fo2jOmDRC6xWpYX49u80bVNisqRRoPskFNX3ymFAmjw,5963
|
50
50
|
dcicutils/opensearch_utils.py,sha256=V2exmFYW8Xl2_pGFixF4I2Cc549Opwe4PhFi5twC0M8,1017
|
51
51
|
dcicutils/portal_object_utils.py,sha256=Az3n1aL-PQkN5gOFE6ZqC2XkYsqiwKlq7-tZggs1QN4,11062
|
@@ -60,13 +60,13 @@ dcicutils/s3_utils.py,sha256=h2B9ftOo-kxqfiKth5ZDC_cAUFy1Pbu7BrVanFnE5Iw,28839
|
|
60
60
|
dcicutils/schema_utils.py,sha256=GmRm-XqZKJ6qine16SQF1txcby9WougDav_sYmKNs9E,12400
|
61
61
|
dcicutils/scripts/publish_to_pypi.py,sha256=sMd4WASQGlxlh7uLrt2eGkFRXYgONVmvIg8mClMS5RQ,13903
|
62
62
|
dcicutils/scripts/run_license_checker.py,sha256=z2keYnRDZsHQbTeo1XORAXSXNJK5axVzL5LjiNqZ7jE,4184
|
63
|
-
dcicutils/scripts/update_portal_object.py,sha256=
|
63
|
+
dcicutils/scripts/update_portal_object.py,sha256=Lrgj01JuxmQSoWikukYgwm5LKi9CgSzjAogoMIBsQC4,20373
|
64
64
|
dcicutils/scripts/view_portal_object.py,sha256=h8COy0lcLNWF9b5spjrlQ28wfqyTTMqAeC_xpFXutus,32262
|
65
65
|
dcicutils/secrets_utils.py,sha256=8dppXAsiHhJzI6NmOcvJV5ldvKkQZzh3Fl-cb8Wm7MI,19745
|
66
66
|
dcicutils/sheet_utils.py,sha256=VlmzteONW5VF_Q4vo0yA5vesz1ViUah1MZ_yA1rwZ0M,33629
|
67
67
|
dcicutils/snapshot_utils.py,sha256=YDeI3vD-MhAtHwKDzfEm2q-n3l-da2yRpRR3xp0Ah1M,23021
|
68
68
|
dcicutils/ssl_certificate_utils.py,sha256=F0ifz_wnRRN9dfrfsz7aCp4UDLgHEY8LaK7PjnNvrAQ,9707
|
69
|
-
dcicutils/structured_data.py,sha256=
|
69
|
+
dcicutils/structured_data.py,sha256=0M80TxxXltPi_jX66ryBwwYGE7PyC4z29HVQBcA4amg,64484
|
70
70
|
dcicutils/submitr/progress_constants.py,sha256=5bxyX77ql8qEJearfHEvsvXl7D0GuUODW0T65mbRmnE,2895
|
71
71
|
dcicutils/submitr/ref_lookup_strategy.py,sha256=VJN-Oo0LLna6Vo2cu47eC-eU-yUC9NFlQP29xajejVU,4741
|
72
72
|
dcicutils/task_utils.py,sha256=MF8ujmTD6-O2AC2gRGPHyGdUrVKgtr8epT5XU8WtNjk,8082
|
@@ -75,8 +75,8 @@ dcicutils/trace_utils.py,sha256=g8kwV4ebEy5kXW6oOrEAUsurBcCROvwtZqz9fczsGRE,1769
|
|
75
75
|
dcicutils/validation_utils.py,sha256=cMZIU2cY98FYtzK52z5WUYck7urH6JcqOuz9jkXpqzg,14797
|
76
76
|
dcicutils/variant_utils.py,sha256=2H9azNx3xAj-MySg-uZ2SFqbWs4kZvf61JnK6b-h4Qw,4343
|
77
77
|
dcicutils/zip_utils.py,sha256=_Y9EmL3D2dUZhxucxHvrtmmlbZmK4FpSsHEb7rGSJLU,3265
|
78
|
-
dcicutils-8.13.3.
|
79
|
-
dcicutils-8.13.3.
|
80
|
-
dcicutils-8.13.3.
|
81
|
-
dcicutils-8.13.3.
|
82
|
-
dcicutils-8.13.3.
|
78
|
+
dcicutils-8.13.3.1b11.dist-info/LICENSE.txt,sha256=qnwSmfnEWMl5l78VPDEzAmEbLVrRqQvfUQiHT0ehrOo,1102
|
79
|
+
dcicutils-8.13.3.1b11.dist-info/METADATA,sha256=rsngEd_b8J_mQqyeUHqk1_yiCBInGYi7GHHcr6cPUmg,3440
|
80
|
+
dcicutils-8.13.3.1b11.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
|
81
|
+
dcicutils-8.13.3.1b11.dist-info/entry_points.txt,sha256=W6kEWdUJk9tQ4myAgpehPdebcwvCAZ7UgB-wyPgDUMg,335
|
82
|
+
dcicutils-8.13.3.1b11.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|