dcicutils 8.16.6.1b4__py3-none-any.whl → 8.16.6.1b5__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/data_readers.py +3 -0
- dcicutils/structured_data.py +10 -1
- {dcicutils-8.16.6.1b4.dist-info → dcicutils-8.16.6.1b5.dist-info}/METADATA +1 -1
- {dcicutils-8.16.6.1b4.dist-info → dcicutils-8.16.6.1b5.dist-info}/RECORD +7 -7
- {dcicutils-8.16.6.1b4.dist-info → dcicutils-8.16.6.1b5.dist-info}/LICENSE.txt +0 -0
- {dcicutils-8.16.6.1b4.dist-info → dcicutils-8.16.6.1b5.dist-info}/WHEEL +0 -0
- {dcicutils-8.16.6.1b4.dist-info → dcicutils-8.16.6.1b5.dist-info}/entry_points.txt +0 -0
dcicutils/data_readers.py
CHANGED
@@ -184,6 +184,9 @@ class Excel:
|
|
184
184
|
def sheet_reader(self, sheet_name: str) -> ExcelSheetReader:
|
185
185
|
return self._reader_class(self, sheet_name=sheet_name, workbook=self._workbook)
|
186
186
|
|
187
|
+
def effective_sheet_name(self, sheet_name: str) -> str:
|
188
|
+
return sheet_name
|
189
|
+
|
187
190
|
def open(self) -> None:
|
188
191
|
if self._workbook is None:
|
189
192
|
import warnings
|
dcicutils/structured_data.py
CHANGED
@@ -320,7 +320,16 @@ class StructuredDataSet:
|
|
320
320
|
# Order the sheet names by any specified ordering (e.g. ala snovault.loadxl).
|
321
321
|
order = {Schema.type_name(key): index for index, key in enumerate(self._order)} if self._order else {}
|
322
322
|
for sheet_name in sorted(excel.sheet_names, key=lambda key: order.get(Schema.type_name(key), sys.maxsize)):
|
323
|
-
|
323
|
+
# This effective_sheet_name function added 2025-01-21 to allow sheets whose sheet names are
|
324
|
+
# other than simply the name of the type, but which do contain that type somehow; i.e. e.g.
|
325
|
+
# specifically where the sheet name is like "DSA:ExternalQualityMetric" where the "DSA"
|
326
|
+
# part is purely informational, and the "ExternalQualityMetric" is the type name; so we
|
327
|
+
# now can have multiple sheets of the same type (impossible before as sheet names need
|
328
|
+
# to be unique); this is simply a mechanism to allow the user to partition/organize their
|
329
|
+
# sheets with some data/rows for a given type split across multiple actual sheets.
|
330
|
+
type_name = Schema.type_name(excel.effective_sheet_name(sheet_name))
|
331
|
+
self._load_reader(excel.sheet_reader(sheet_name), type_name=type_name)
|
332
|
+
# self._load_reader(excel.sheet_reader(sheet_name), type_name=Schema.type_name(sheet_name))
|
324
333
|
if self._validator_sheet_hook and self.data.get(sheet_name):
|
325
334
|
self._validator_sheet_hook(self, sheet_name, self.data[sheet_name])
|
326
335
|
# TODO: Do we really need progress reporting for the below?
|
@@ -10,7 +10,7 @@ dcicutils/common.py,sha256=U6tedhp6FFl9EUGoMqiMAqON_WqGJ_317JE_Tr4dXDs,3926
|
|
10
10
|
dcicutils/contribution_scripts.py,sha256=0k5Gw1TumcD5SAcXVkDd6-yvuMEw-jUp5Kfb7FJH6XQ,2015
|
11
11
|
dcicutils/contribution_utils.py,sha256=vYLS1JUB3sKd24BUxZ29qUBqYeQBLK9cwo8x3k64uPg,25653
|
12
12
|
dcicutils/creds_utils.py,sha256=64BbIfS90T1eJmmQJrDyfrRa3V2F1x7T8lOrEeFfqJY,11127
|
13
|
-
dcicutils/data_readers.py,sha256=
|
13
|
+
dcicutils/data_readers.py,sha256=Hszem-XAEzMmq-Haw2xUzSSqpw5o0fGsw4BylwWBbLc,7900
|
14
14
|
dcicutils/data_utils.py,sha256=k2OxOlsx7AJ6jF-YNlMyGus_JqSUBe4_n1s65Mv1gQQ,3098
|
15
15
|
dcicutils/datetime_utils.py,sha256=xaJ9rzSsk4uBPidwV2sByrl2xcQiFWXTnx6HLpt8EcY,13650
|
16
16
|
dcicutils/deployment_utils.py,sha256=6Sv1cM9T944d_9CTJt8O2RPtpw9MiTIPKw_DgYLOnCU,69916
|
@@ -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=
|
69
|
+
dcicutils/structured_data.py,sha256=PMrW-bBnuULzBTyl5D7FM1r83rC6P5xAoFHUUqks6_A,67450
|
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.16.6.
|
79
|
-
dcicutils-8.16.6.
|
80
|
-
dcicutils-8.16.6.
|
81
|
-
dcicutils-8.16.6.
|
82
|
-
dcicutils-8.16.6.
|
78
|
+
dcicutils-8.16.6.1b5.dist-info/LICENSE.txt,sha256=IrWHOFtMb2inTgr2ZqwQriRC8H3uMQfQVO6lniaaoE0,1102
|
79
|
+
dcicutils-8.16.6.1b5.dist-info/METADATA,sha256=9feHP-Akh4ZI7EexBuKGCZ7G3x2I3ITQdMEaz3ESQYo,3493
|
80
|
+
dcicutils-8.16.6.1b5.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
|
81
|
+
dcicutils-8.16.6.1b5.dist-info/entry_points.txt,sha256=W6kEWdUJk9tQ4myAgpehPdebcwvCAZ7UgB-wyPgDUMg,335
|
82
|
+
dcicutils-8.16.6.1b5.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|