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.
@@ -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: bool = False,
72
+ progress: Optional[Callable] = None,
74
73
  debug_sleep: Optional[str] = None) -> None:
75
- progress = False
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 _progress_add(self, amount: Union[int, Callable]) -> None:
97
- if self._progress is not False and self._progress is not None:
98
- if callable(amount):
99
- amount = amount()
100
- if not isinstance(amount, int):
101
- return
102
- if self._progress is True:
103
- if amount > 0:
104
- self._progress = tqdm(total=amount)
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._progress_add(calculate_total_rows_to_process)
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._progress_add(-1)
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")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dcicutils
3
- Version: 8.8.0.1b14
3
+ Version: 8.8.0.1b15
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
@@ -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=72nX3ijfc2QACqfyjWFlQIX-VX1B8RPRc4GA-Ly2G5E,52998
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.1b14.dist-info/LICENSE.txt,sha256=qnwSmfnEWMl5l78VPDEzAmEbLVrRqQvfUQiHT0ehrOo,1102
73
- dcicutils-8.8.0.1b14.dist-info/METADATA,sha256=wESy8_hN46GF7JnZwBkIFBvZc3W8GDACj99M-X09ULA,3357
74
- dcicutils-8.8.0.1b14.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
75
- dcicutils-8.8.0.1b14.dist-info/entry_points.txt,sha256=51Q4F_2V10L0282W7HFjP4jdzW4K8lnWDARJQVFy_hw,270
76
- dcicutils-8.8.0.1b14.dist-info/RECORD,,
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,,