dcicutils 8.14.0.1b12__py3-none-any.whl → 8.14.0.1b14__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.
@@ -123,7 +123,8 @@ def main():
123
123
  parser.add_argument("--post", type=str, required=False, default=None, help="POST data.")
124
124
  parser.add_argument("--patch", type=str, required=False, default=None, help="PATCH data.")
125
125
  parser.add_argument("--upsert", type=str, required=False, default=None, help="Upsert data.")
126
- parser.add_argument("--load", type=str, required=False, default=None, help="Load data via snovault.loadxl.")
126
+ parser.add_argument("--load", "--loadxl", type=str, required=False, default=None,
127
+ help="Load data via snovault.loadxl.")
127
128
  parser.add_argument("--ini", type=str, required=False, default=None, help="INI file for data via snovault.loadxl.")
128
129
  parser.add_argument("--delete", type=str, required=False, default=None, help="Delete data.")
129
130
  parser.add_argument("--purge", type=str, required=False, default=None, help="Purge data.")
@@ -159,11 +160,12 @@ def main():
159
160
  "when using the --load option (to load data via snovault.loadxl).")
160
161
  exit(1)
161
162
  if args.env:
162
- _print("The --env is not used for the --load option (to load data via snovault.loadxl).")
163
- if args.schema:
164
- _print("The --schema is not used for the --load option (to load data via snovault.loadxl).")
165
- _load_data(load=args.load, ini_file=args.ini,
166
- verbose=args.verbose, debug=args.debug, noprogress=args.noprogress)
163
+ if args.ini:
164
+ _print("The --env is not used for the --load option (to load data via snovault.loadxl).")
165
+ args.ini = args.env
166
+ if not _load_data(load=args.load, ini_file=args.ini, explicit_schema_name=args.schema,
167
+ verbose=args.verbose, debug=args.debug, noprogress=args.noprogress):
168
+ exit(1)
167
169
  exit(0)
168
170
 
169
171
  portal = _create_portal(env=args.env, app=app, verbose=args.verbose, debug=args.debug)
@@ -171,7 +173,7 @@ def main():
171
173
  if explicit_schema_name := args.schema:
172
174
  schema, explicit_schema_name = _get_schema(portal, explicit_schema_name)
173
175
  if not schema:
174
- usage(f"ERROR: Unknown schema name: {args.schema}")
176
+ usage(f"Unknown specified schema name: {args.schema}")
175
177
 
176
178
  if args.post:
177
179
  _post_or_patch_or_upsert(portal=portal,
@@ -494,15 +496,25 @@ def _load_data(load: str, ini_file: str, explicit_schema_name: Optional[str] = N
494
496
  if not (schema_name := _get_schema_name_from_schema_named_json_file_name(portal, inserts_file)):
495
497
  _print("Unable to determine schema name for JSON data file: {inserts_file}")
496
498
  return False
499
+ elif not (schema_name := _get_schema(portal, explicit_schema_name)[1]):
500
+ _print(f"Unknown specified schema name: {explicit_schema_name}")
501
+ return False
497
502
  with temporary_directory() as tmpdir:
498
503
  file_name = os.path.join(tmpdir, f"{to_snake_case(schema_name)}.json")
499
504
  with io.open(file_name, "w") as f:
500
505
  json.dump(data, f)
501
- return _load_data(load=tmpdir, ini_file=ini_file, explicit_schema_name=explicit_schema_name,
506
+ return _load_data(load=tmpdir, ini_file=ini_file, explicit_schema_name=schema_name,
502
507
  verbose=verbose, debug=debug, noprogress=noprogress,
503
508
  _portal=portal, _single_insert_file=inserts_file)
504
509
  elif isinstance(data, dict):
505
- _print("DICT IN FILE FOR LOAD NOT YET SUPPPORTED")
510
+ if schema_name := explicit_schema_name:
511
+ if _is_schema_name_list(portal, schema_names := list(data.keys())):
512
+ _print(f"Ignoring specify --schema: {schema_name}")
513
+ elif not (schema_name := _get_schema(portal, schema_name)[1]):
514
+ _print(f"Unknown specified schema name: {explicit_schema_name}")
515
+ return False
516
+ else:
517
+ data = {schema_name: [data]}
506
518
  if not _is_schema_name_list(portal, schema_names := list(data.keys())):
507
519
  _print(f"Unrecognized types in JSON data file: {inserts_file}")
508
520
  return False
@@ -521,7 +533,6 @@ def _load_data(load: str, ini_file: str, explicit_schema_name: Optional[str] = N
521
533
  return _load_data(load=tmpdir, ini_file=ini_file,
522
534
  verbose=verbose, debug=debug, noprogress=noprogress,
523
535
  _portal=portal, _single_insert_file=inserts_file)
524
- # TODO
525
536
  return True
526
537
  else:
527
538
  _print(f"Unrecognized JSON data in file: {inserts_file}")
@@ -529,9 +540,9 @@ def _load_data(load: str, ini_file: str, explicit_schema_name: Optional[str] = N
529
540
  return True
530
541
  if verbose:
531
542
  if _single_insert_file:
532
- _print(f"Loading data file into Portal (via snovault.loadxl) from: {_single_insert_file}")
543
+ _print(f"Loading data into Portal (via snovault.loadxl) from file: {_single_insert_file}")
533
544
  else:
534
- _print(f"Loading data files into Portal (via snovault.loadxl) from: {inserts_directory}")
545
+ _print(f"Loading data into Portal (via snovault.loadxl) from directory: {inserts_directory}")
535
546
  _print(f"Portal INI file for load is: {ini_file}")
536
547
 
537
548
  schema_names = list(_get_schemas(portal).keys())
@@ -575,7 +586,10 @@ def _load_data(load: str, ini_file: str, explicit_schema_name: Optional[str] = N
575
586
  else:
576
587
  loadxl(portal=portal, inserts_directory=inserts_directory, schema_names_to_load=schema_names_to_load)
577
588
  if verbose:
578
- _print(f"Done loading data into Portal (via snovault.loadxl) files from: {inserts_directory}")
589
+ if _single_insert_file:
590
+ _print(f"Done loading data into Portal (via snovault.loadxl) from file: {_single_insert_file}")
591
+ else:
592
+ _print(f"Done loading data into Portal (via snovault.loadxl) from directory: {inserts_directory}")
579
593
  return True
580
594
 
581
595
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dcicutils
3
- Version: 8.14.0.1b12
3
+ Version: 8.14.0.1b14
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
@@ -60,7 +60,7 @@ 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=KSsbHVOaS7zGOSVYbB2Lf7FT_gYFAGk4ot8e-us2HkE,33057
63
+ dcicutils/scripts/update_portal_object.py,sha256=KoKKn5BB5zkRv-qbqZD2qpwaKwwksl4ASP_ZZQdCshs,33878
64
64
  dcicutils/scripts/view_portal_object.py,sha256=lcgXWH9ooVf7tJDIRnoFGOgT0wYLGhiJlJW3a9w6A_c,36983
65
65
  dcicutils/secrets_utils.py,sha256=8dppXAsiHhJzI6NmOcvJV5ldvKkQZzh3Fl-cb8Wm7MI,19745
66
66
  dcicutils/sheet_utils.py,sha256=VlmzteONW5VF_Q4vo0yA5vesz1ViUah1MZ_yA1rwZ0M,33629
@@ -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.14.0.1b12.dist-info/LICENSE.txt,sha256=qnwSmfnEWMl5l78VPDEzAmEbLVrRqQvfUQiHT0ehrOo,1102
79
- dcicutils-8.14.0.1b12.dist-info/METADATA,sha256=iUlj60aXP1C2TpYySyc6ieQWkM3a11PKfLLFXEOFH9s,3440
80
- dcicutils-8.14.0.1b12.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
81
- dcicutils-8.14.0.1b12.dist-info/entry_points.txt,sha256=W6kEWdUJk9tQ4myAgpehPdebcwvCAZ7UgB-wyPgDUMg,335
82
- dcicutils-8.14.0.1b12.dist-info/RECORD,,
78
+ dcicutils-8.14.0.1b14.dist-info/LICENSE.txt,sha256=qnwSmfnEWMl5l78VPDEzAmEbLVrRqQvfUQiHT0ehrOo,1102
79
+ dcicutils-8.14.0.1b14.dist-info/METADATA,sha256=QF7P3NoXDw4Olsgw0M7IhLUgWPdQ30wO-ALh5qVTOzI,3440
80
+ dcicutils-8.14.0.1b14.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
81
+ dcicutils-8.14.0.1b14.dist-info/entry_points.txt,sha256=W6kEWdUJk9tQ4myAgpehPdebcwvCAZ7UgB-wyPgDUMg,335
82
+ dcicutils-8.14.0.1b14.dist-info/RECORD,,