dcicutils 8.8.0.1b12__py3-none-any.whl → 8.8.0.1b13__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- dcicutils/structured_data.py +14 -3
- {dcicutils-8.8.0.1b12.dist-info → dcicutils-8.8.0.1b13.dist-info}/METADATA +1 -1
- {dcicutils-8.8.0.1b12.dist-info → dcicutils-8.8.0.1b13.dist-info}/RECORD +6 -6
- {dcicutils-8.8.0.1b12.dist-info → dcicutils-8.8.0.1b13.dist-info}/LICENSE.txt +0 -0
- {dcicutils-8.8.0.1b12.dist-info → dcicutils-8.8.0.1b13.dist-info}/WHEEL +0 -0
- {dcicutils-8.8.0.1b12.dist-info → dcicutils-8.8.0.1b13.dist-info}/entry_points.txt +0 -0
dcicutils/structured_data.py
CHANGED
@@ -6,6 +6,7 @@ import os
|
|
6
6
|
from pyramid.router import Router
|
7
7
|
import re
|
8
8
|
import sys
|
9
|
+
import time
|
9
10
|
from tqdm import tqdm
|
10
11
|
from typing import Any, Callable, List, Optional, Tuple, Type, Union
|
11
12
|
from webtest.app import TestApp
|
@@ -69,7 +70,8 @@ class StructuredDataSet:
|
|
69
70
|
order: Optional[List[str]] = None, prune: bool = True,
|
70
71
|
ref_lookup_strategy: Optional[Callable] = None,
|
71
72
|
ref_lookup_nocache: bool = False,
|
72
|
-
progress: bool = False
|
73
|
+
progress: bool = False,
|
74
|
+
debug_sleep: Optional[str] = None) -> None:
|
73
75
|
progress = False
|
74
76
|
self._progress = progress
|
75
77
|
self._data = {}
|
@@ -83,6 +85,12 @@ class StructuredDataSet:
|
|
83
85
|
self._resolved_refs = set()
|
84
86
|
self._validated = False
|
85
87
|
self._autoadd_properties = autoadd if isinstance(autoadd, dict) and autoadd else None
|
88
|
+
self._debug_sleep = None
|
89
|
+
if debug_sleep:
|
90
|
+
try:
|
91
|
+
self._debug_sleep = float(debug_sleep)
|
92
|
+
except Exception:
|
93
|
+
self._debug_sleep = None
|
86
94
|
self._load_file(file) if file else None
|
87
95
|
|
88
96
|
def _progress_add(self, amount: Union[int, Callable]) -> None:
|
@@ -113,9 +121,10 @@ class StructuredDataSet:
|
|
113
121
|
schemas: Optional[List[dict]] = None, autoadd: Optional[dict] = None,
|
114
122
|
order: Optional[List[str]] = None, prune: bool = True,
|
115
123
|
ref_lookup_strategy: Optional[Callable] = None,
|
116
|
-
ref_lookup_nocache: bool = False) -> StructuredDataSet:
|
124
|
+
ref_lookup_nocache: bool = False, debug_sleep: Optional[str] = None) -> StructuredDataSet:
|
117
125
|
return StructuredDataSet(file=file, portal=portal, schemas=schemas, autoadd=autoadd, order=order, prune=prune,
|
118
|
-
ref_lookup_strategy=ref_lookup_strategy, ref_lookup_nocache=ref_lookup_nocache
|
126
|
+
ref_lookup_strategy=ref_lookup_strategy, ref_lookup_nocache=ref_lookup_nocache,
|
127
|
+
debug_sleep=debug_sleep)
|
119
128
|
|
120
129
|
def validate(self, force: bool = False) -> None:
|
121
130
|
def data_without_deleted_properties(data: dict) -> dict:
|
@@ -278,6 +287,8 @@ class StructuredDataSet:
|
|
278
287
|
noschema = False
|
279
288
|
structured_row_template = None
|
280
289
|
for row in reader:
|
290
|
+
if self._debug_sleep:
|
291
|
+
time.sleep(float(self._debug_sleep))
|
281
292
|
if not structured_row_template: # Delay creation just so we don't reference schema if there are no rows.
|
282
293
|
if not schema and not noschema and not (schema := Schema.load_by_name(type_name, portal=self._portal)):
|
283
294
|
noschema = True
|
@@ -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=72nX3ijfc2QACqfyjWFlQIX-VX1B8RPRc4GA-Ly2G5E,52998
|
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.1b13.dist-info/LICENSE.txt,sha256=qnwSmfnEWMl5l78VPDEzAmEbLVrRqQvfUQiHT0ehrOo,1102
|
73
|
+
dcicutils-8.8.0.1b13.dist-info/METADATA,sha256=_QuHO_XVPM0VCTHDGz89YJGi4cAf4ApoaPZCGJW8rgU,3357
|
74
|
+
dcicutils-8.8.0.1b13.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
|
75
|
+
dcicutils-8.8.0.1b13.dist-info/entry_points.txt,sha256=51Q4F_2V10L0282W7HFjP4jdzW4K8lnWDARJQVFy_hw,270
|
76
|
+
dcicutils-8.8.0.1b13.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|