dcicutils 8.8.3.1b22__py3-none-any.whl → 8.8.3.1b24__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/progress_bar.py +14 -6
- {dcicutils-8.8.3.1b22.dist-info → dcicutils-8.8.3.1b24.dist-info}/METADATA +1 -1
- {dcicutils-8.8.3.1b22.dist-info → dcicutils-8.8.3.1b24.dist-info}/RECORD +6 -6
- {dcicutils-8.8.3.1b22.dist-info → dcicutils-8.8.3.1b24.dist-info}/LICENSE.txt +0 -0
- {dcicutils-8.8.3.1b22.dist-info → dcicutils-8.8.3.1b24.dist-info}/WHEEL +0 -0
- {dcicutils-8.8.3.1b22.dist-info → dcicutils-8.8.3.1b24.dist-info}/entry_points.txt +0 -0
dcicutils/progress_bar.py
CHANGED
@@ -279,10 +279,10 @@ class ProgressBar:
|
|
279
279
|
# string in the display string where the progress bar should actually go,
|
280
280
|
# which we do in _format_description. Other minor things too; see below.
|
281
281
|
sys_stdout_write = sys.stdout.write
|
282
|
-
last_text = None ; last_captured_output_text = None # noqa
|
282
|
+
last_text = None ; last_captured_output_text = None ; last_spin_change_time = None # noqa
|
283
283
|
def tidy_stdout_write(text: str) -> None: # noqa
|
284
284
|
nonlocal self, sys_stdout_write, sentinel_internal, spina, spini, spinn
|
285
|
-
nonlocal last_text, last_captured_output_text
|
285
|
+
nonlocal last_text, last_captured_output_text, last_spin_change_time
|
286
286
|
def replace_first(value: str, match: str, replacement: str) -> str: # noqa
|
287
287
|
return value[:i] + replacement + value[i + len(match):] if (i := value.find(match)) >= 0 else value
|
288
288
|
def remove_extra_trailing_spaces(text: str) -> str: # noqa
|
@@ -292,13 +292,17 @@ class ProgressBar:
|
|
292
292
|
if (not text) or (last_text == text):
|
293
293
|
return
|
294
294
|
last_text = text
|
295
|
+
now = time.time()
|
295
296
|
if (self._disabled or self._done) and sentinel_internal in text:
|
296
297
|
# Another hack to really disable output on interrupt; in this case we set
|
297
298
|
# tqdm.disable to True, but output can still dribble out, so if the output
|
298
299
|
# looks like it is from tqdm and we are disabled/done then do no output.
|
299
300
|
return
|
300
301
|
if sentinel_internal in text:
|
301
|
-
spinc = spina[spini % spinn] if not ("100%|" in text) else "✓"
|
302
|
+
spinc = spina[spini % spinn] if not ("100%|" in text) else "✓"
|
303
|
+
if last_spin_change_time is None or ((now - last_spin_change_time) >= 0.05):
|
304
|
+
spini += 1
|
305
|
+
last_spin_change_time = now
|
302
306
|
text = replace_first(text, sentinel_internal, f" {spinc}")
|
303
307
|
text = replace_first(text, "%|", "% ◀|")
|
304
308
|
text = remove_extra_trailing_spaces(text) + f"{spinc} "
|
@@ -307,7 +311,7 @@ class ProgressBar:
|
|
307
311
|
# the unit we gave, which is empty; idunno; just replace it here.
|
308
312
|
text = replace_first(text, "s/ ", "/s ")
|
309
313
|
if self._use_byte_size_for_rate and self._bar:
|
310
|
-
rate = self._bar.n / (
|
314
|
+
rate = self._bar.n / (now - self._started)
|
311
315
|
text = text.replace("[rate]", f"{format_size(rate)}/s")
|
312
316
|
sys_stdout_write(text)
|
313
317
|
sys.stdout.flush()
|
@@ -346,9 +350,13 @@ class ProgressBar:
|
|
346
350
|
# Dots borrowed from "rich" python package (others: ⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏).
|
347
351
|
# Others: "◴◷◶◵" "◰◳◲◱" "◡⊙◠" "⠁⠂⠄⡀⢀⠠⠐⠈" "▁▃▄▅▆▇█▇▆▅▄▃" "◢◣◤◥" "◐◓◑◒" "✶✸✹✺✹✷" "⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏"
|
348
352
|
spinner_chars_a = "⣾⣽⣻⢿⡿⣟⣯⣷"
|
349
|
-
spinner_chars_b = "
|
353
|
+
spinner_chars_b = "|/—\\"
|
350
354
|
spinner_chars_c = "◰◳◲◱"
|
351
|
-
|
355
|
+
spinner_chars_d = "◐◓◑◒"
|
356
|
+
spinner_chars_e = "◴◷◶◵"
|
357
|
+
return ((list(spinner_chars_a[::-1]) * 18) +
|
358
|
+
(list(spinner_chars_b) * 3) + (list(spinner_chars_c) * 3) +
|
359
|
+
(list(spinner_chars_d) * 3) + (list(spinner_chars_e) * 3))
|
352
360
|
sys.stdout.write = tidy_stdout_write
|
353
361
|
spina = ascii_spinners() ; spini = 0 ; spinn = len(spina) # noqa
|
354
362
|
sentinel = "[progress]" ; sentinel_internal = f"{sentinel}:" # noqa
|
@@ -48,7 +48,7 @@ dcicutils/obfuscation_utils.py,sha256=fo2jOmDRC6xWpYX49u80bVNisqRRoPskFNX3ymFAmj
|
|
48
48
|
dcicutils/opensearch_utils.py,sha256=V2exmFYW8Xl2_pGFixF4I2Cc549Opwe4PhFi5twC0M8,1017
|
49
49
|
dcicutils/portal_object_utils.py,sha256=gDXRgPsRvqCFwbC8WatsuflAxNiigOnqr0Hi93k3AgE,15422
|
50
50
|
dcicutils/portal_utils.py,sha256=DYyE5o15GekDgzpJWas9iS7klAYbjJZUPW0G42McArk,30779
|
51
|
-
dcicutils/progress_bar.py,sha256=
|
51
|
+
dcicutils/progress_bar.py,sha256=7cqnBB7ZzY0cHIgWvNwreYUYAosXwf3zxvvYRD9N-4Q,18751
|
52
52
|
dcicutils/project_utils.py,sha256=qPdCaFmWUVBJw4rw342iUytwdQC0P-XKpK4mhyIulMM,31250
|
53
53
|
dcicutils/qa_checkers.py,sha256=cdXjeL0jCDFDLT8VR8Px78aS10hwNISOO5G_Zv2TZ6M,20534
|
54
54
|
dcicutils/qa_utils.py,sha256=TT0SiJWiuxYvbsIyhK9VO4uV_suxhB6CpuC4qPacCzQ,160208
|
@@ -72,8 +72,8 @@ dcicutils/trace_utils.py,sha256=g8kwV4ebEy5kXW6oOrEAUsurBcCROvwtZqz9fczsGRE,1769
|
|
72
72
|
dcicutils/validation_utils.py,sha256=cMZIU2cY98FYtzK52z5WUYck7urH6JcqOuz9jkXpqzg,14797
|
73
73
|
dcicutils/variant_utils.py,sha256=2H9azNx3xAj-MySg-uZ2SFqbWs4kZvf61JnK6b-h4Qw,4343
|
74
74
|
dcicutils/zip_utils.py,sha256=rnjNv_k6L9jT2SjDSgVXp4BEJYLtz9XN6Cl2Fy-tqnM,2027
|
75
|
-
dcicutils-8.8.3.
|
76
|
-
dcicutils-8.8.3.
|
77
|
-
dcicutils-8.8.3.
|
78
|
-
dcicutils-8.8.3.
|
79
|
-
dcicutils-8.8.3.
|
75
|
+
dcicutils-8.8.3.1b24.dist-info/LICENSE.txt,sha256=qnwSmfnEWMl5l78VPDEzAmEbLVrRqQvfUQiHT0ehrOo,1102
|
76
|
+
dcicutils-8.8.3.1b24.dist-info/METADATA,sha256=6NnLtyDOFz9tsB4OVMHkHyNObT4uZIYB2zKq-QXjerg,3357
|
77
|
+
dcicutils-8.8.3.1b24.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
|
78
|
+
dcicutils-8.8.3.1b24.dist-info/entry_points.txt,sha256=51Q4F_2V10L0282W7HFjP4jdzW4K8lnWDARJQVFy_hw,270
|
79
|
+
dcicutils-8.8.3.1b24.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|