podflow 20250404.5__py3-none-any.whl → 20250404.7__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.
@@ -11,10 +11,10 @@ def time_print(text, Top=False, NoEnter=False, Time=True, Url=""):
11
11
  text = f"{datetime.now().strftime('%H:%M:%S')}|{text}"
12
12
  if Top:
13
13
  text_print = f"\r{text}"
14
+ else:
15
+ text_print = f"{text}"
14
16
  if Url:
15
17
  text_print = f"{text_print}\n\033[34m{Url}\033[0m"
16
- else:
17
- text_print = f"{text_print}"
18
18
  if NoEnter:
19
19
  print(text_print, end="")
20
20
  else:
@@ -1,6 +1,7 @@
1
1
  # podflow/download/show_progress.py
2
2
  # coding: utf-8
3
3
 
4
+ from podflow.basic.time_print import time_print
4
5
  from podflow.basic.time_format import time_format
5
6
  from podflow.download.convert_bytes import convert_bytes
6
7
 
@@ -30,17 +31,19 @@ def show_progress(stream):
30
31
  percent = f"{percent:.1f}" if percent == 100 else f"{percent:.2f}"
31
32
  percent = percent.rjust(5)
32
33
  eta = time_format(stream["eta"]).ljust(8)
33
- print(
34
- (
35
- f"\r\033[94m{percent}%\033[0m|{downloaded_bytes}/{total_bytes}|\033[32m{speed}/s\033[0m|\033[93m{eta}\033[0m"
36
- ),
37
- end="",
34
+ time_print(
35
+ f"\033[94m{percent}%\033[0m|{downloaded_bytes}/{total_bytes}|\033[32m{speed}/s\033[0m|\033[93m{eta}\033[0m",
36
+ Top=True,
37
+ NoEnter=True,
38
+ Time=False,
38
39
  )
39
40
  if stream["status"] == "finished":
40
41
  if "elapsed" in stream:
41
42
  elapsed = time_format(stream["elapsed"]).ljust(8)
42
43
  else:
43
44
  elapsed = "Unknown "
44
- print(
45
- f"\r100.0%|{downloaded_bytes}/{total_bytes}|\033[32m{speed}/s\033[0m|\033[97m{elapsed}\033[0m"
45
+ time_print(
46
+ f"100.0%|{downloaded_bytes}/{total_bytes}|\033[32m{speed}/s\033[0m|\033[97m{elapsed}\033[0m",
47
+ Top=True,
48
+ Time=False,
46
49
  )
@@ -407,7 +407,7 @@
407
407
  function appendMessages(container, newMessages, oldMessages) {
408
408
  // 判断当前是否在底部
409
409
  const isAtBottom = container.scrollHeight - container.scrollTop <= container.clientHeight + 10;
410
-
410
+
411
411
  // 只追加新数据,避免重复渲染
412
412
  if (newMessages.length === oldMessages.length && newMessages.length > 0) {
413
413
  const lastNewMessage = newMessages[newMessages.length - 1];
@@ -416,7 +416,7 @@
416
416
  const p = document.createElement('p');
417
417
  p.innerHTML = lastNewMessage;
418
418
  p.className = 'message'; // 添加 CSS 类名
419
-
419
+
420
420
  // 获取容器的最后一个子元素
421
421
  const lastChild = container.lastElementChild;
422
422
  // 如果容器有子元素,则替换最后一个
@@ -436,7 +436,17 @@
436
436
  container.appendChild(p);
437
437
  });
438
438
  }
439
-
439
+
440
+ // 替换倒数第二项为 newMessages 的倒数第二项
441
+ const secondLastChild = container.children[container.children.length - 2];
442
+ if (secondLastChild && newMessages.length > 1) {
443
+ const newSecondLastMessage = newMessages[newMessages.length - 2];
444
+ const p = document.createElement('p');
445
+ p.innerHTML = newSecondLastMessage;
446
+ p.className = 'message'; // 添加 CSS 类名
447
+ container.replaceChild(p, secondLastChild);
448
+ }
449
+
440
450
  // 如果用户没有主动滚动,才自动滚动到底部
441
451
  if (!userScrolled) {
442
452
  container.scrollTop = container.scrollHeight;
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: podflow
3
- Version: 20250404.5
3
+ Version: 20250404.7
4
4
  Summary: A podcast server that includes YouTube and BiliBili
5
5
  Home-page: https://github.com/gruel-zxz/podflow
6
6
  Author: gruel_zxz
@@ -16,7 +16,7 @@ podflow/basic/list_merge_tidy.py,sha256=7hWfSnsPh23edHNU92vxtI0nfpfN8m54GTEt2rGm
16
16
  podflow/basic/qr_code.py,sha256=BQFxAx55vqWECTwWgybyXu3IuDFavpc3zMCmZ4XvKKE,1630
17
17
  podflow/basic/split_dict.py,sha256=Ir6GTortcWMUeFITFgY1v-INMla5y0IN3RN3nTgzWqM,401
18
18
  podflow/basic/time_format.py,sha256=T3tw2vbOwxMYYXDaV4Sj76WOZtsspj2lWA_DzWqUEJA,487
19
- podflow/basic/time_print.py,sha256=aseJ0gRwbjZI7GlKqUEx2VvEvQ3LcQeiltJQiGiu33s,1243
19
+ podflow/basic/time_print.py,sha256=dtXXszwpXbHvgAcc_Y5JYlpKeKDCNdFrqU0eAYYD54U,1237
20
20
  podflow/basic/time_stamp.py,sha256=Kbz9PzgPtss1fRqPXdfz1q6MTGVMRi3LPClN7wrXSIk,1888
21
21
  podflow/basic/vary_replace.py,sha256=-TyvZxfak6U7Ak8F87ctYUBpHB2Il6iYZof37lwKjto,211
22
22
  podflow/basic/write_log.py,sha256=wfiNfFuRLCWNLXDRNPVaVsKxwB44xxTiCFJ66g71XmU,1255
@@ -36,7 +36,7 @@ podflow/download/__init__.py,sha256=1lATXiOAEx5oDUDR99mQRiTrQlQ9CQkJNAKpsLrnPCo,
36
36
  podflow/download/convert_bytes.py,sha256=6Q3TcPGzCO2FlhOKWbp9RB_GPmfuyKY5suIyE9EJf6k,543
37
37
  podflow/download/delete_part.py,sha256=wjY6WulpUMjLx38on0kTLXj0gA04rIuKAdwFidZtWGU,679
38
38
  podflow/download/dl_aideo_video.py,sha256=LxA_Nt51ZG2MaIyVOi5CyDH7PA-EONxxAVW1wO8i4vE,10344
39
- podflow/download/show_progress.py,sha256=cWlyIh6WqoH3s4WpFSyL6xtiXhQFbrVJVcckxO-1NLg,1595
39
+ podflow/download/show_progress.py,sha256=w_nzq6LbewXpFwXENQwbA5-L-j3XDqzfQSMU7E_CWxs,1716
40
40
  podflow/download/wait_animation.py,sha256=AUTvszXF89QA7XYjocFIauPKV7Qj8cFqry44teClaLQ,1314
41
41
  podflow/download/youtube_and_bilibili_download.py,sha256=dlUh9cPHrYgZAhtXlBUOdFIpZOhv9xOtgdcTaqUvLuY,1294
42
42
  podflow/httpfs/__init__.py,sha256=BxEXkufjcx-a0F7sDVXo65hmyANqCCbZUd6EH9i8T2c,45
@@ -80,7 +80,7 @@ podflow/remove/remove_dir.py,sha256=xQIhrnqnYjMzXjoSWaTvm7JwPYOFTN1muuTPdaLDXpQ,
80
80
  podflow/remove/remove_file.py,sha256=8wAJQehs-XBqvu0vPlEme2_tt0FZxc5ELwGMxXA_558,982
81
81
  podflow/repair/__init__.py,sha256=Gpc1i6xiSLodKjjmzH66c_Y1z0HQ9E9CS3p95FRnVFM,45
82
82
  podflow/repair/reverse_log.py,sha256=Wc_vAH0WB-z1fNdWx7FYaVH4caRPtot7tDwDwFhmpz4,1106
83
- podflow/templates/index.html,sha256=7oM62bhnEZdzO3yNP2T8u90G8tVcOuiOPhjrE-UuieQ,17474
83
+ podflow/templates/index.html,sha256=ehXeo_fqlS34eU619RxWV70hfhhAuX7jTYrxF90kU60,17997
84
84
  podflow/upload/__init__.py,sha256=AtOSXDrE5EjUe3z-iBd1NTDaH8n_X9qA5WXdBLkONjA,45
85
85
  podflow/upload/add_upload.py,sha256=_2-V0z75Lwu-PUCfMD9HOSxZTB102yZlZW5hSdlHcsc,1432
86
86
  podflow/upload/build_hash.py,sha256=9opa3xLd7nJbGGX5xa3uuKPS6dxlbkAb87ZdEiUxmxI,473
@@ -95,8 +95,8 @@ podflow/youtube/__init__.py,sha256=pgXod8gq0IijZxIkPSwgAOcb9JI5rd1mqMomoR7bcJ4,4
95
95
  podflow/youtube/build.py,sha256=3LYk_ICVXj9XkE9jZ8jEVI8596xxS_QZkcoIwcBE3Ys,12006
96
96
  podflow/youtube/get.py,sha256=Of7PRgUknhpyW70nvyVAUYVb5KyFViKiBTfH3Y6Mke8,16970
97
97
  podflow/youtube/login.py,sha256=KYl--ya6Z1u0uIcOp9l8i3DIIj9hsYUDH4dtJjI0MLM,1295
98
- podflow-20250404.5.dist-info/METADATA,sha256=Lso9YHXGue2mWoqcgKAibAYCSJn3rjwTdMzAPII3TJA,14165
99
- podflow-20250404.5.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
100
- podflow-20250404.5.dist-info/entry_points.txt,sha256=mn7hD_c_dmpKe3XU0KNekheBvD01LhlJ9htY-Df0j2A,131
101
- podflow-20250404.5.dist-info/top_level.txt,sha256=fUujhhz-RrMI8aGvi-3Ey5y7FQnpOOgoFw9OWM3yLCU,8
102
- podflow-20250404.5.dist-info/RECORD,,
98
+ podflow-20250404.7.dist-info/METADATA,sha256=AnA1Or5Nc7Ue7eoiDWJ7Jsjam4VRBVBSOyNfOPnSuPI,14165
99
+ podflow-20250404.7.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
100
+ podflow-20250404.7.dist-info/entry_points.txt,sha256=mn7hD_c_dmpKe3XU0KNekheBvD01LhlJ9htY-Df0j2A,131
101
+ podflow-20250404.7.dist-info/top_level.txt,sha256=fUujhhz-RrMI8aGvi-3Ey5y7FQnpOOgoFw9OWM3yLCU,8
102
+ podflow-20250404.7.dist-info/RECORD,,