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 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 / 20% ◀|█████████▌ | 1/5 | 536.00/s | 00:01 | ETA: 00:02
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 spinners.
340
- return list("⣾⣽⣻⢿⡿⣟⣯⣷") # borrowed from rich python package
341
- # return list("⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏") # borrowed from rich python package
342
- # return list("⠿⠻⠽⠾⠷⠯⠟")
343
- # return list("⠏⠛⠹⠼⠶⠧")
344
- # return list("⠻⠽⠾⠷⠯⠟")
345
- # return list("|/—◦\\")
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
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: dcicutils
3
- Version: 8.8.3.1b20
3
+ Version: 8.8.3.1b22
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
@@ -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=Ov5plifqRxiAbphrxSx4moZG2mlrZAKRsY_Lo77N9vU,17847
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.1b20.dist-info/LICENSE.txt,sha256=qnwSmfnEWMl5l78VPDEzAmEbLVrRqQvfUQiHT0ehrOo,1102
76
- dcicutils-8.8.3.1b20.dist-info/METADATA,sha256=rpjdvqXlMtSdM4yU4yZqkqSf2OaciE0sBAHglJwZoMs,3357
77
- dcicutils-8.8.3.1b20.dist-info/WHEEL,sha256=7Z8_27uaHI_UZAc4Uox4PpBhQ9Y5_modZXWMxtUi4NU,88
78
- dcicutils-8.8.3.1b20.dist-info/entry_points.txt,sha256=51Q4F_2V10L0282W7HFjP4jdzW4K8lnWDARJQVFy_hw,270
79
- dcicutils-8.8.3.1b20.dist-info/RECORD,,
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,,