dcicutils 8.8.0.1b14__py3-none-any.whl → 8.8.0.1b15__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -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,,