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 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
- try:
992
- return int(float(value))
993
- except Exception:
994
- pass
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
@@ -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:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dcicutils
3
- Version: 8.13.3.1b9
3
+ Version: 8.13.3.1b11
4
4
  Summary: Utility package for interacting with the 4DN Data Portal and other 4DN resources
5
5
  Home-page: https://github.com/4dn-dcic/utils
6
6
  License: MIT
@@ -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=-syqTAj8DESiiP_KHoyBv9VvfboFYB03QbBlmXnBZXw,109423
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=UbvDMtBtZirTAk5JZ7IGZqGn-QiNS1S7v0gn5rtIlUg,20084
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=TA7kJ-utVj_xa5XnVs7VaG_XQicl5MUWmrVkDm0N8qE,64471
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.1b9.dist-info/LICENSE.txt,sha256=qnwSmfnEWMl5l78VPDEzAmEbLVrRqQvfUQiHT0ehrOo,1102
79
- dcicutils-8.13.3.1b9.dist-info/METADATA,sha256=Rw87lqJzYwFrz2nivFVNRXlvqZ8AM2hfi3Ae6nidGKk,3439
80
- dcicutils-8.13.3.1b9.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
81
- dcicutils-8.13.3.1b9.dist-info/entry_points.txt,sha256=W6kEWdUJk9tQ4myAgpehPdebcwvCAZ7UgB-wyPgDUMg,335
82
- dcicutils-8.13.3.1b9.dist-info/RECORD,,
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,,