dcicutils 8.14.2.1b3__py3-none-any.whl → 8.14.3__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.
@@ -58,6 +58,7 @@ class StructuredDataSet:
58
58
  norefs: bool = False, merge: bool = False,
59
59
  progress: Optional[Callable] = None,
60
60
  validator_hook: Optional[Callable] = None,
61
+ validator_sheet_hook: Optional[Callable] = None,
61
62
  debug_sleep: Optional[str] = None) -> None:
62
63
  self._progress = progress if callable(progress) else None
63
64
  self._data = {}
@@ -76,7 +77,8 @@ class StructuredDataSet:
76
77
  self._autoadd_properties = autoadd if isinstance(autoadd, dict) and autoadd else None
77
78
  self._norefs = True if norefs is True else False
78
79
  self._merge = True if merge is True else False # New merge functionality (2024-05-25)
79
- self._validator_hook = validator_hook if callable(validator_hook) else None # Testing support (2024-06-12)
80
+ self._validator_hook = validator_hook if callable(validator_hook) else None
81
+ self._validator_sheet_hook = validator_sheet_hook if callable(validator_sheet_hook) else None
80
82
  self._debug_sleep = None
81
83
  if debug_sleep:
82
84
  try:
@@ -316,6 +318,8 @@ class StructuredDataSet:
316
318
  order = {Schema.type_name(key): index for index, key in enumerate(self._order)} if self._order else {}
317
319
  for sheet_name in sorted(excel.sheet_names, key=lambda key: order.get(Schema.type_name(key), sys.maxsize)):
318
320
  self._load_reader(excel.sheet_reader(sheet_name), type_name=Schema.type_name(sheet_name))
321
+ if self._validator_sheet_hook:
322
+ self._validator_sheet_hook(self, sheet_name, self.data[sheet_name])
319
323
  # TODO: Do we really need progress reporting for the below?
320
324
  # Check for unresolved reference errors which really are not because of ordering.
321
325
  # Yes such internal references will be handled correctly on actual database update via snovault.loadxl.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dcicutils
3
- Version: 8.14.2.1b3
3
+ Version: 8.14.3
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
@@ -66,7 +66,7 @@ dcicutils/secrets_utils.py,sha256=8dppXAsiHhJzI6NmOcvJV5ldvKkQZzh3Fl-cb8Wm7MI,19
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=GLmUdN-ewDbziv4fgX63goOhzru4Na2MqWowEyzJnvo,66399
69
+ dcicutils/structured_data.py,sha256=75f03o6a3LwsP_AA3fN-RVJKwdVjVEsXxCisZvMQBXg,66662
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.14.2.1b3.dist-info/LICENSE.txt,sha256=qnwSmfnEWMl5l78VPDEzAmEbLVrRqQvfUQiHT0ehrOo,1102
79
- dcicutils-8.14.2.1b3.dist-info/METADATA,sha256=FXsXJ49aoqkcY07DAckjxRHzS1PR7Ea4a-CcU1cy490,3446
80
- dcicutils-8.14.2.1b3.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
81
- dcicutils-8.14.2.1b3.dist-info/entry_points.txt,sha256=W6kEWdUJk9tQ4myAgpehPdebcwvCAZ7UgB-wyPgDUMg,335
82
- dcicutils-8.14.2.1b3.dist-info/RECORD,,
78
+ dcicutils-8.14.3.dist-info/LICENSE.txt,sha256=qnwSmfnEWMl5l78VPDEzAmEbLVrRqQvfUQiHT0ehrOo,1102
79
+ dcicutils-8.14.3.dist-info/METADATA,sha256=T8BT9idAe2eqpRuq_x1Mu80UCZ8T78tJF9janDiFh68,3442
80
+ dcicutils-8.14.3.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
81
+ dcicutils-8.14.3.dist-info/entry_points.txt,sha256=W6kEWdUJk9tQ4myAgpehPdebcwvCAZ7UgB-wyPgDUMg,335
82
+ dcicutils-8.14.3.dist-info/RECORD,,