dcicutils 8.8.0.1b14__py3-none-any.whl → 8.8.0.1b15__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/structured_data.py +15 -20
- {dcicutils-8.8.0.1b14.dist-info → dcicutils-8.8.0.1b15.dist-info}/METADATA +1 -1
- {dcicutils-8.8.0.1b14.dist-info → dcicutils-8.8.0.1b15.dist-info}/RECORD +6 -6
- {dcicutils-8.8.0.1b14.dist-info → dcicutils-8.8.0.1b15.dist-info}/LICENSE.txt +0 -0
- {dcicutils-8.8.0.1b14.dist-info → dcicutils-8.8.0.1b15.dist-info}/WHEEL +0 -0
- {dcicutils-8.8.0.1b14.dist-info → dcicutils-8.8.0.1b15.dist-info}/entry_points.txt +0 -0
dcicutils/structured_data.py
CHANGED
@@ -7,7 +7,6 @@ from pyramid.router import Router
|
|
7
7
|
import re
|
8
8
|
import sys
|
9
9
|
import time
|
10
|
-
from tqdm import tqdm
|
11
10
|
from typing import Any, Callable, List, Optional, Tuple, Type, Union
|
12
11
|
from webtest.app import TestApp
|
13
12
|
from dcicutils.common import OrchestratedApp
|
@@ -70,10 +69,9 @@ class StructuredDataSet:
|
|
70
69
|
order: Optional[List[str]] = None, prune: bool = True,
|
71
70
|
ref_lookup_strategy: Optional[Callable] = None,
|
72
71
|
ref_lookup_nocache: bool = False,
|
73
|
-
progress:
|
72
|
+
progress: Optional[Callable] = None,
|
74
73
|
debug_sleep: Optional[str] = None) -> None:
|
75
|
-
|
76
|
-
self._progress = progress
|
74
|
+
self._progress = progress if callable(progress) else None
|
77
75
|
self._data = {}
|
78
76
|
self._portal = Portal(portal, data=self._data, schemas=schemas,
|
79
77
|
ref_lookup_strategy=ref_lookup_strategy,
|
@@ -93,20 +91,15 @@ class StructuredDataSet:
|
|
93
91
|
self._debug_sleep = None
|
94
92
|
self._load_file(file) if file else None
|
95
93
|
|
96
|
-
def
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
elif isinstance(self._progress, tqdm):
|
106
|
-
if amount > 0:
|
107
|
-
self._progress.total += amount
|
108
|
-
elif amount < 0:
|
109
|
-
self._progress.update(-amount)
|
94
|
+
def _progress_update(self, nrows: Union[int, Callable],
|
95
|
+
nrefs_resolved: Optional[int] = None,
|
96
|
+
nrefs_unresolved: Optional[int] = None,
|
97
|
+
nlookups: Optional[int] = None) -> None:
|
98
|
+
if self._progress:
|
99
|
+
if callable(nrows):
|
100
|
+
nrows = nrows()
|
101
|
+
if isinstance(nrows, int) and nrows != 0:
|
102
|
+
self._progress(nrows, nrefs_resolved, nrefs_unresolved, nlookups)
|
110
103
|
|
111
104
|
@property
|
112
105
|
def data(self) -> dict:
|
@@ -259,7 +252,8 @@ class StructuredDataSet:
|
|
259
252
|
for row in excel.sheet_reader(sheet_name):
|
260
253
|
nrows += 1
|
261
254
|
return nrows
|
262
|
-
self.
|
255
|
+
if self._progress:
|
256
|
+
self._progress_update(calculate_total_rows_to_process)
|
263
257
|
excel = Excel(file) # Order the sheet names by any specified ordering (e.g. ala snovault.loadxl).
|
264
258
|
order = {Schema.type_name(key): index for index, key in enumerate(self._order)} if self._order else {}
|
265
259
|
for sheet_name in sorted(excel.sheet_names, key=lambda key: order.get(Schema.type_name(key), sys.maxsize)):
|
@@ -301,7 +295,8 @@ class StructuredDataSet:
|
|
301
295
|
if self._autoadd_properties:
|
302
296
|
self._add_properties(structured_row, self._autoadd_properties, schema)
|
303
297
|
self._add(type_name, structured_row)
|
304
|
-
self.
|
298
|
+
if self._progress:
|
299
|
+
self._progress_update(-1, len(self._resolved_refs), len(self.ref_errors), self.ref_lookup_count)
|
305
300
|
self._note_warning(reader.warnings, "reader")
|
306
301
|
if schema:
|
307
302
|
self._note_error(schema._unresolved_refs, "ref")
|
@@ -62,15 +62,15 @@ dcicutils/secrets_utils.py,sha256=8dppXAsiHhJzI6NmOcvJV5ldvKkQZzh3Fl-cb8Wm7MI,19
|
|
62
62
|
dcicutils/sheet_utils.py,sha256=VlmzteONW5VF_Q4vo0yA5vesz1ViUah1MZ_yA1rwZ0M,33629
|
63
63
|
dcicutils/snapshot_utils.py,sha256=ymP7PXH6-yEiXAt75w0ldQFciGNqWBClNxC5gfX2FnY,22961
|
64
64
|
dcicutils/ssl_certificate_utils.py,sha256=F0ifz_wnRRN9dfrfsz7aCp4UDLgHEY8LaK7PjnNvrAQ,9707
|
65
|
-
dcicutils/structured_data.py,sha256=
|
65
|
+
dcicutils/structured_data.py,sha256=Xoyz-ig6N6LKkuYP_RNJ-ZTS1BVNX1DnpHe13q_aV5A,53005
|
66
66
|
dcicutils/task_utils.py,sha256=MF8ujmTD6-O2AC2gRGPHyGdUrVKgtr8epT5XU8WtNjk,8082
|
67
67
|
dcicutils/tmpfile_utils.py,sha256=n95XF8dZVbQRSXBZTGToXXfSs3JUVRyN6c3ZZ0nhAWI,1403
|
68
68
|
dcicutils/trace_utils.py,sha256=g8kwV4ebEy5kXW6oOrEAUsurBcCROvwtZqz9fczsGRE,1769
|
69
69
|
dcicutils/validation_utils.py,sha256=cMZIU2cY98FYtzK52z5WUYck7urH6JcqOuz9jkXpqzg,14797
|
70
70
|
dcicutils/variant_utils.py,sha256=2H9azNx3xAj-MySg-uZ2SFqbWs4kZvf61JnK6b-h4Qw,4343
|
71
71
|
dcicutils/zip_utils.py,sha256=rnjNv_k6L9jT2SjDSgVXp4BEJYLtz9XN6Cl2Fy-tqnM,2027
|
72
|
-
dcicutils-8.8.0.
|
73
|
-
dcicutils-8.8.0.
|
74
|
-
dcicutils-8.8.0.
|
75
|
-
dcicutils-8.8.0.
|
76
|
-
dcicutils-8.8.0.
|
72
|
+
dcicutils-8.8.0.1b15.dist-info/LICENSE.txt,sha256=qnwSmfnEWMl5l78VPDEzAmEbLVrRqQvfUQiHT0ehrOo,1102
|
73
|
+
dcicutils-8.8.0.1b15.dist-info/METADATA,sha256=LYKE0PGwS9Rrc3wl6M8cIreHJj5sMYHSAm2wSSRbmQ8,3357
|
74
|
+
dcicutils-8.8.0.1b15.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
|
75
|
+
dcicutils-8.8.0.1b15.dist-info/entry_points.txt,sha256=51Q4F_2V10L0282W7HFjP4jdzW4K8lnWDARJQVFy_hw,270
|
76
|
+
dcicutils-8.8.0.1b15.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|