dcicutils 8.14.0.1b18__py3-none-any.whl → 8.14.0.1b19__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.
@@ -441,8 +441,11 @@ def _load_data(portal: Portal, load: str, ini_file: str, explicit_schema_name: O
441
441
  if not match or match.re.groups < 3:
442
442
  continue
443
443
  if (action := LOADXL_ACTION_NAME[match.group(1).upper()]) == "Error":
444
+ loadxl_total_error_count += 1
444
445
  identifying_value = match.group(2)
445
- # Example message for unresolved link:
446
+ #
447
+ # Example message for unresolved link ...
448
+ #
446
449
  # ERROR: /22813a02-906b-4b60-b2b2-4afaea24aa28 Bad response: 422 Unprocessable Entity
447
450
  # (not 200 OK or 3xx redirect for http://localhost/file_set?skip_indexing=true)b\'{"@type":
448
451
  # ["ValidationFailure", "Error"], "status": "error", "code": # 422, "title": "Unprocessable Entity",
@@ -450,21 +453,33 @@ def _load_data(portal: Portal, load: str, ini_file: str, explicit_schema_name: O
450
453
  # "description": "Unable to resolve link: /Library/a4e8f79f-4d47-4e85-9707-c343c940a315"},
451
454
  # {"location": "body", "name": "Schema: libraries.0",
452
455
  # "description": "\\\'a4e8f79f-4d47-4e85-9707-c343c940a315\\\' not found"}]}\'
456
+ #
457
+ # OR ...
458
+ #
459
+ # ERROR: /22813a02-906b-4b60-b2b2-4afaea24aa28 Bad response: 404 Not Found (not 200 OK or 3xx
460
+ # redirect for http://localhost/22813a02-906b-4b60-b2b2-4afaea24aa28)b\'{"@type": ["HTTPNotFound",
461
+ # "Error"], "status": "error", "code": 404, "title": "Not Found", "description": "The resource
462
+ # could not be found.", "detail": "debug_notfound of url http://localhost/22813a02-906b-4b60-b2b2-4afaea24aa28; # noqa
463
+ # path_info: \\\'/22813a02-906b-4b60-b2b2-4afaea24aa28\\\', context: <encoded.root.SMAHTRoot object at 0x136d41460>, # noqa
464
+ # view_name: \\\'22813a02-906b-4b60-b2b2-4afaea24aa28\\\', subpath: (), traversed: (), root:
465
+ # <encoded.root.SMAHTRoot object at 0x136d41460>, vroot: <encoded.root.SMAHTRoot object at 0x136d41460>, vroot_path: ()"}\' # noqa
466
+ #
467
+ if (item_type := re.search(r"https?://.*/(.*)\?skip_indexing=.*", item)) and (len(item_type.groups()) == 1): # noqa
468
+ item_type = to_snake_case(item_type.group(1))
469
+ identifying_value = f"/{to_camel_case(item_type)}{identifying_value}"
453
470
  unresolved_link_error_message_prefix = "Unable to resolve link:"
454
471
  if (i := item.find(unresolved_link_error_message_prefix)) > 0:
455
472
  unresolved_link = item[i + len(unresolved_link_error_message_prefix):].strip()
456
473
  if (i := unresolved_link.find("\"")) > 0:
457
474
  if (unresolved_link := unresolved_link[0:i]):
458
- if ((error_type := re.search(r"https?://.*/(.*)\?skip_indexing=.*", item)) and
459
- (len(error_type.groups()) == 1)): # noqa
460
- error_type = to_camel_case(error_type.group(1))
461
- identifying_value = f"/{error_type}{identifying_value}"
462
- if not loadxl_unresolved.get(identifying_value):
463
- loadxl_unresolved[identifying_value] = []
464
- loadxl_unresolved[identifying_value].append(unresolved_link)
465
- loadxl_total_error_count += 1
466
- continue
467
- item_type = match.group(3)
475
+ if not loadxl_unresolved.get(unresolved_link):
476
+ loadxl_unresolved[unresolved_link] = []
477
+ if identifying_value not in loadxl_unresolved[unresolved_link]:
478
+ loadxl_unresolved[unresolved_link].append(identifying_value)
479
+ if not item_type:
480
+ continue
481
+ else:
482
+ item_type = match.group(3)
468
483
  if current_item_type != item_type:
469
484
  if noprogress and debug and current_item_type is not None:
470
485
  _print()
@@ -483,6 +498,7 @@ def _load_data(portal: Portal, load: str, ini_file: str, explicit_schema_name: O
483
498
  _print(f"{current_item_type}: {current_item_count} or {current_item_total} ({action})")
484
499
  if progress_bar:
485
500
  progress_bar.set_description("▶ Load Complete")
501
+ progress_bar.set_progress(progress_total)
486
502
  if loadxl_total_item_count > loadxl_total_error_count:
487
503
  _print()
488
504
 
@@ -608,16 +624,16 @@ def _load_data(portal: Portal, load: str, ini_file: str, explicit_schema_name: O
608
624
  _print(f"Done loading data into Portal (via snovault.loadxl) from file: {_single_insert_file}")
609
625
  else:
610
626
  _print(f"Done loading data into Portal (via snovault.loadxl) from directory: {inserts_directory}")
611
- _print(f"Total items loaded: {loadxl_total_item_count}"
627
+ _print(f"Total items loaded: {loadxl_total_item_count // 2}" # TODO: straightend out this arithmetic
612
628
  f"{f' (errors: {loadxl_total_error_count})' if loadxl_total_error_count else ''}")
613
629
  for item in sorted(loadxl_summary.keys()):
614
630
  _print(f"▷ {to_camel_case(item)}: {loadxl_summary[item]}")
615
631
  if loadxl_unresolved:
616
632
  _print("✗ Unresolved references:")
617
633
  for item in loadxl_unresolved:
618
- _print(f" {item}: {len(loadxl_unresolved[item])}")
634
+ _print(f" {item}: {len(loadxl_unresolved[item])}")
619
635
  for subitem in loadxl_unresolved[item]:
620
- _print(f" {subitem}")
636
+ _print(f" {subitem}")
621
637
  if debug and loadxl_output:
622
638
  _print("✗ Output from loadxl:")
623
639
  for item in loadxl_output:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dcicutils
3
- Version: 8.14.0.1b18
3
+ Version: 8.14.0.1b19
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=r-uT7y-S0bmiDTSH0UFnae5HDntiAkP-DadPZ8Fr-xk,38473
63
+ dcicutils/scripts/update_portal_object.py,sha256=Xp1Jho_LC9gkaR6pV3Jvukxx27LW2N18ucDgxz6gc9w,39639
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.1b18.dist-info/LICENSE.txt,sha256=qnwSmfnEWMl5l78VPDEzAmEbLVrRqQvfUQiHT0ehrOo,1102
79
- dcicutils-8.14.0.1b18.dist-info/METADATA,sha256=41mUWL-MZgiKTwZDpbO9aURr1P8yMa4xnjbaUsSGHJM,3440
80
- dcicutils-8.14.0.1b18.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
81
- dcicutils-8.14.0.1b18.dist-info/entry_points.txt,sha256=W6kEWdUJk9tQ4myAgpehPdebcwvCAZ7UgB-wyPgDUMg,335
82
- dcicutils-8.14.0.1b18.dist-info/RECORD,,
78
+ dcicutils-8.14.0.1b19.dist-info/LICENSE.txt,sha256=qnwSmfnEWMl5l78VPDEzAmEbLVrRqQvfUQiHT0ehrOo,1102
79
+ dcicutils-8.14.0.1b19.dist-info/METADATA,sha256=fNFLeE-npH786qVeBJgJemerLOwaIGYkbOT1jZWKqKs,3440
80
+ dcicutils-8.14.0.1b19.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
81
+ dcicutils-8.14.0.1b19.dist-info/entry_points.txt,sha256=W6kEWdUJk9tQ4myAgpehPdebcwvCAZ7UgB-wyPgDUMg,335
82
+ dcicutils-8.14.0.1b19.dist-info/RECORD,,