dcicutils 8.8.3.1b20__py3-none-any.whl → 8.8.3.1b22__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- dcicutils/progress_bar.py +14 -8
- {dcicutils-8.8.3.1b20.dist-info → dcicutils-8.8.3.1b22.dist-info}/METADATA +1 -1
- {dcicutils-8.8.3.1b20.dist-info → dcicutils-8.8.3.1b22.dist-info}/RECORD +6 -6
- {dcicutils-8.8.3.1b20.dist-info → dcicutils-8.8.3.1b22.dist-info}/LICENSE.txt +0 -0
- {dcicutils-8.8.3.1b20.dist-info → dcicutils-8.8.3.1b22.dist-info}/WHEEL +0 -0
- {dcicutils-8.8.3.1b20.dist-info → dcicutils-8.8.3.1b22.dist-info}/entry_points.txt +0 -0
dcicutils/progress_bar.py
CHANGED
@@ -161,6 +161,9 @@ class ProgressBar:
|
|
161
161
|
self.set_total(total, _norefresh=True)
|
162
162
|
self.set_progress(progress, _norefresh=True)
|
163
163
|
self.set_description(description)
|
164
|
+
self.enable()
|
165
|
+
self._done = False
|
166
|
+
self._bar.reset()
|
164
167
|
self._started = time.time()
|
165
168
|
|
166
169
|
def done(self, description: Optional[str] = None) -> None:
|
@@ -311,12 +314,15 @@ class ProgressBar:
|
|
311
314
|
if self._captured_output_for_testing is not None:
|
312
315
|
# For testing only we replace vacilliting values in the out like rate,
|
313
316
|
# time elapsed, and ETA with static values; so that something like this:
|
314
|
-
# > Working
|
317
|
+
# > Working ⣾ 20% ◀|█████████▌ | 1/5 | 536.00/s | 00:01 | ETA: 00:02 ⣾
|
315
318
|
# becomes something more static like this after calling this function:
|
316
319
|
# > Working | 20% ◀|### | 1/5 | 0.0/s | 00:00 | ETA: 00:00
|
317
320
|
# This function obviously has intimate knowledge of the output; better here than in tests.
|
318
321
|
def replace_time_dependent_values_with_static(text: str) -> str:
|
319
322
|
blocks = "\u2587|\u2588|\u2589|\u258a|\u258b|\u258c|\u258d|\u258e|\u258f"
|
323
|
+
if text.endswith("| "):
|
324
|
+
# In case "|" is in the trailing spinner it messes up regex below.
|
325
|
+
text = set_nth(text, len(text) - 2, "-")
|
320
326
|
if (n := find_nth_from_end(text, "|", 5)) >= 8:
|
321
327
|
pattern = re.compile(
|
322
328
|
rf"(\s*)(\d*%? ◀\|)(?:\s*{blocks}|#)*\s*(\|\s*\d+/\d+)?(\s*\|\s*)"
|
@@ -336,13 +342,13 @@ class ProgressBar:
|
|
336
342
|
if sys_stdout_write is not None:
|
337
343
|
sys.stdout.write = sys_stdout_write
|
338
344
|
def ascii_spinners() -> list: # noqa
|
339
|
-
# Fun with ASCII
|
340
|
-
|
341
|
-
#
|
342
|
-
|
343
|
-
|
344
|
-
|
345
|
-
|
345
|
+
# Fun with ASCII spinner characters.
|
346
|
+
# Dots borrowed from "rich" python package (others: ⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏).
|
347
|
+
# Others: "◴◷◶◵" "◰◳◲◱" "◡⊙◠" "⠁⠂⠄⡀⢀⠠⠐⠈" "▁▃▄▅▆▇█▇▆▅▄▃" "◢◣◤◥" "◐◓◑◒" "✶✸✹✺✹✷" "⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏"
|
348
|
+
spinner_chars_a = "⣾⣽⣻⢿⡿⣟⣯⣷"
|
349
|
+
spinner_chars_b = "|/-\\"
|
350
|
+
spinner_chars_c = "◰◳◲◱"
|
351
|
+
return (list(spinner_chars_a[::-1]) * 9) + (list(spinner_chars_b) * 3) + (list(spinner_chars_c) * 3)
|
346
352
|
sys.stdout.write = tidy_stdout_write
|
347
353
|
spina = ascii_spinners() ; spini = 0 ; spinn = len(spina) # noqa
|
348
354
|
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=UE_HxZCExEKg2u4x4oa3qBix5LTtN8CXuRxM_qW4oWA,18329
|
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.1b22.dist-info/LICENSE.txt,sha256=qnwSmfnEWMl5l78VPDEzAmEbLVrRqQvfUQiHT0ehrOo,1102
|
76
|
+
dcicutils-8.8.3.1b22.dist-info/METADATA,sha256=hI8Hx1Cl09T5LN8o-bExmvdgkdXVOgCArBKO_1xFvU0,3357
|
77
|
+
dcicutils-8.8.3.1b22.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
|
78
|
+
dcicutils-8.8.3.1b22.dist-info/entry_points.txt,sha256=51Q4F_2V10L0282W7HFjP4jdzW4K8lnWDARJQVFy_hw,270
|
79
|
+
dcicutils-8.8.3.1b22.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|