dcicutils 8.8.3.1b20__py3-none-any.whl → 8.8.3.1b22__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 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,,