podflow 20250404.8__tar.gz → 20250404.9__tar.gz

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.
Files changed (108) hide show
  1. {podflow-20250404.8 → podflow-20250404.9}/PKG-INFO +1 -1
  2. {podflow-20250404.8 → podflow-20250404.9}/podflow/__init__.py +0 -1
  3. {podflow-20250404.8 → podflow-20250404.9}/podflow/basic/time_print.py +0 -3
  4. {podflow-20250404.8 → podflow-20250404.9}/podflow/main_podcast.py +0 -4
  5. {podflow-20250404.8 → podflow-20250404.9}/podflow/templates/index.html +27 -29
  6. {podflow-20250404.8 → podflow-20250404.9}/podflow.egg-info/PKG-INFO +1 -1
  7. {podflow-20250404.8 → podflow-20250404.9}/setup.py +1 -1
  8. {podflow-20250404.8 → podflow-20250404.9}/MANIFEST.in +0 -0
  9. {podflow-20250404.8 → podflow-20250404.9}/README.md +0 -0
  10. {podflow-20250404.8 → podflow-20250404.9}/podflow/basic/__init__.py +0 -0
  11. {podflow-20250404.8 → podflow-20250404.9}/podflow/basic/file_save.py +0 -0
  12. {podflow-20250404.8 → podflow-20250404.9}/podflow/basic/folder_build.py +0 -0
  13. {podflow-20250404.8 → podflow-20250404.9}/podflow/basic/get_duration.py +0 -0
  14. {podflow-20250404.8 → podflow-20250404.9}/podflow/basic/get_file_list.py +0 -0
  15. {podflow-20250404.8 → podflow-20250404.9}/podflow/basic/get_html_dict.py +0 -0
  16. {podflow-20250404.8 → podflow-20250404.9}/podflow/basic/http_client.py +0 -0
  17. {podflow-20250404.8 → podflow-20250404.9}/podflow/basic/list_merge_tidy.py +0 -0
  18. {podflow-20250404.8 → podflow-20250404.9}/podflow/basic/qr_code.py +0 -0
  19. {podflow-20250404.8 → podflow-20250404.9}/podflow/basic/split_dict.py +0 -0
  20. {podflow-20250404.8 → podflow-20250404.9}/podflow/basic/time_format.py +0 -0
  21. {podflow-20250404.8 → podflow-20250404.9}/podflow/basic/time_stamp.py +0 -0
  22. {podflow-20250404.8 → podflow-20250404.9}/podflow/basic/vary_replace.py +0 -0
  23. {podflow-20250404.8 → podflow-20250404.9}/podflow/basic/write_log.py +0 -0
  24. {podflow-20250404.8 → podflow-20250404.9}/podflow/bilibili/__init__.py +0 -0
  25. {podflow-20250404.8 → podflow-20250404.9}/podflow/bilibili/build.py +0 -0
  26. {podflow-20250404.8 → podflow-20250404.9}/podflow/bilibili/get.py +0 -0
  27. {podflow-20250404.8 → podflow-20250404.9}/podflow/bilibili/login.py +0 -0
  28. {podflow-20250404.8 → podflow-20250404.9}/podflow/config/__init__.py +0 -0
  29. {podflow-20250404.8 → podflow-20250404.9}/podflow/config/build_original.py +0 -0
  30. {podflow-20250404.8 → podflow-20250404.9}/podflow/config/channge_icon.py +0 -0
  31. {podflow-20250404.8 → podflow-20250404.9}/podflow/config/correct_channelid.py +0 -0
  32. {podflow-20250404.8 → podflow-20250404.9}/podflow/config/correct_config.py +0 -0
  33. {podflow-20250404.8 → podflow-20250404.9}/podflow/config/get_channelid.py +0 -0
  34. {podflow-20250404.8 → podflow-20250404.9}/podflow/config/get_channelid_id.py +0 -0
  35. {podflow-20250404.8 → podflow-20250404.9}/podflow/config/get_config.py +0 -0
  36. {podflow-20250404.8 → podflow-20250404.9}/podflow/download/__init__.py +0 -0
  37. {podflow-20250404.8 → podflow-20250404.9}/podflow/download/convert_bytes.py +0 -0
  38. {podflow-20250404.8 → podflow-20250404.9}/podflow/download/delete_part.py +0 -0
  39. {podflow-20250404.8 → podflow-20250404.9}/podflow/download/dl_aideo_video.py +0 -0
  40. {podflow-20250404.8 → podflow-20250404.9}/podflow/download/show_progress.py +0 -0
  41. {podflow-20250404.8 → podflow-20250404.9}/podflow/download/wait_animation.py +0 -0
  42. {podflow-20250404.8 → podflow-20250404.9}/podflow/download/youtube_and_bilibili_download.py +0 -0
  43. {podflow-20250404.8 → podflow-20250404.9}/podflow/download_and_build.py +0 -0
  44. {podflow-20250404.8 → podflow-20250404.9}/podflow/ffmpeg_judge.py +0 -0
  45. {podflow-20250404.8 → podflow-20250404.9}/podflow/httpfs/__init__.py +0 -0
  46. {podflow-20250404.8 → podflow-20250404.9}/podflow/httpfs/app_bottle.py +0 -0
  47. {podflow-20250404.8 → podflow-20250404.9}/podflow/httpfs/browser.py +0 -0
  48. {podflow-20250404.8 → podflow-20250404.9}/podflow/httpfs/get_channelid.py +0 -0
  49. {podflow-20250404.8 → podflow-20250404.9}/podflow/httpfs/port_judge.py +0 -0
  50. {podflow-20250404.8 → podflow-20250404.9}/podflow/httpfs/to_html.py +0 -0
  51. {podflow-20250404.8 → podflow-20250404.9}/podflow/main.py +0 -0
  52. {podflow-20250404.8 → podflow-20250404.9}/podflow/main_upload.py +0 -0
  53. {podflow-20250404.8 → podflow-20250404.9}/podflow/makeup/__init__.py +0 -0
  54. {podflow-20250404.8 → podflow-20250404.9}/podflow/makeup/del_makeup_format_fail.py +0 -0
  55. {podflow-20250404.8 → podflow-20250404.9}/podflow/makeup/make_up_file.py +0 -0
  56. {podflow-20250404.8 → podflow-20250404.9}/podflow/makeup/make_up_file_format_mod.py +0 -0
  57. {podflow-20250404.8 → podflow-20250404.9}/podflow/makeup/make_up_file_mod.py +0 -0
  58. {podflow-20250404.8 → podflow-20250404.9}/podflow/message/__init__.py +0 -0
  59. {podflow-20250404.8 → podflow-20250404.9}/podflow/message/backup_zip_save.py +0 -0
  60. {podflow-20250404.8 → podflow-20250404.9}/podflow/message/create_main_rss.py +0 -0
  61. {podflow-20250404.8 → podflow-20250404.9}/podflow/message/display_qrcode_and_url.py +0 -0
  62. {podflow-20250404.8 → podflow-20250404.9}/podflow/message/fail_message_initialize.py +0 -0
  63. {podflow-20250404.8 → podflow-20250404.9}/podflow/message/format_time.py +0 -0
  64. {podflow-20250404.8 → podflow-20250404.9}/podflow/message/get_media_name.py +0 -0
  65. {podflow-20250404.8 → podflow-20250404.9}/podflow/message/get_original_rss.py +0 -0
  66. {podflow-20250404.8 → podflow-20250404.9}/podflow/message/get_video_format.py +0 -0
  67. {podflow-20250404.8 → podflow-20250404.9}/podflow/message/get_video_format_multithread.py +0 -0
  68. {podflow-20250404.8 → podflow-20250404.9}/podflow/message/get_youtube_and_bilibili_video_format.py +0 -0
  69. {podflow-20250404.8 → podflow-20250404.9}/podflow/message/media_format.py +0 -0
  70. {podflow-20250404.8 → podflow-20250404.9}/podflow/message/original_rss_fail_print.py +0 -0
  71. {podflow-20250404.8 → podflow-20250404.9}/podflow/message/rss_create_hash.py +0 -0
  72. {podflow-20250404.8 → podflow-20250404.9}/podflow/message/save_rss.py +0 -0
  73. {podflow-20250404.8 → podflow-20250404.9}/podflow/message/title_correction.py +0 -0
  74. {podflow-20250404.8 → podflow-20250404.9}/podflow/message/update_information_display.py +0 -0
  75. {podflow-20250404.8 → podflow-20250404.9}/podflow/message/update_youtube_bilibili_rss.py +0 -0
  76. {podflow-20250404.8 → podflow-20250404.9}/podflow/message/want_retry.py +0 -0
  77. {podflow-20250404.8 → podflow-20250404.9}/podflow/message/xml_item.py +0 -0
  78. {podflow-20250404.8 → podflow-20250404.9}/podflow/message/xml_original_item.py +0 -0
  79. {podflow-20250404.8 → podflow-20250404.9}/podflow/message/xml_rss.py +0 -0
  80. {podflow-20250404.8 → podflow-20250404.9}/podflow/netscape/__init__.py +0 -0
  81. {podflow-20250404.8 → podflow-20250404.9}/podflow/netscape/bulid_netscape.py +0 -0
  82. {podflow-20250404.8 → podflow-20250404.9}/podflow/netscape/get_cookie_dict.py +0 -0
  83. {podflow-20250404.8 → podflow-20250404.9}/podflow/parse_arguments.py +0 -0
  84. {podflow-20250404.8 → podflow-20250404.9}/podflow/remove/__init__.py +0 -0
  85. {podflow-20250404.8 → podflow-20250404.9}/podflow/remove/remove_dir.py +0 -0
  86. {podflow-20250404.8 → podflow-20250404.9}/podflow/remove/remove_file.py +0 -0
  87. {podflow-20250404.8 → podflow-20250404.9}/podflow/repair/__init__.py +0 -0
  88. {podflow-20250404.8 → podflow-20250404.9}/podflow/repair/reverse_log.py +0 -0
  89. {podflow-20250404.8 → podflow-20250404.9}/podflow/upload/__init__.py +0 -0
  90. {podflow-20250404.8 → podflow-20250404.9}/podflow/upload/add_upload.py +0 -0
  91. {podflow-20250404.8 → podflow-20250404.9}/podflow/upload/build_hash.py +0 -0
  92. {podflow-20250404.8 → podflow-20250404.9}/podflow/upload/get_upload_original.py +0 -0
  93. {podflow-20250404.8 → podflow-20250404.9}/podflow/upload/linked_client.py +0 -0
  94. {podflow-20250404.8 → podflow-20250404.9}/podflow/upload/linked_server.py +0 -0
  95. {podflow-20250404.8 → podflow-20250404.9}/podflow/upload/login.py +0 -0
  96. {podflow-20250404.8 → podflow-20250404.9}/podflow/upload/time_key.py +0 -0
  97. {podflow-20250404.8 → podflow-20250404.9}/podflow/upload/update_upload.py +0 -0
  98. {podflow-20250404.8 → podflow-20250404.9}/podflow/upload/upload_server.py +0 -0
  99. {podflow-20250404.8 → podflow-20250404.9}/podflow/youtube/__init__.py +0 -0
  100. {podflow-20250404.8 → podflow-20250404.9}/podflow/youtube/build.py +0 -0
  101. {podflow-20250404.8 → podflow-20250404.9}/podflow/youtube/get.py +0 -0
  102. {podflow-20250404.8 → podflow-20250404.9}/podflow/youtube/login.py +0 -0
  103. {podflow-20250404.8 → podflow-20250404.9}/podflow.egg-info/SOURCES.txt +0 -0
  104. {podflow-20250404.8 → podflow-20250404.9}/podflow.egg-info/dependency_links.txt +0 -0
  105. {podflow-20250404.8 → podflow-20250404.9}/podflow.egg-info/entry_points.txt +0 -0
  106. {podflow-20250404.8 → podflow-20250404.9}/podflow.egg-info/requires.txt +0 -0
  107. {podflow-20250404.8 → podflow-20250404.9}/podflow.egg-info/top_level.txt +0 -0
  108. {podflow-20250404.8 → podflow-20250404.9}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: podflow
3
- Version: 20250404.8
3
+ Version: 20250404.9
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
@@ -125,7 +125,6 @@ class Application_gVar:
125
125
  "http": [], # httpfs窗口信息列表
126
126
  "enter": True, # 是否换行
127
127
  }
128
- self.text_message = [] # 测试
129
128
 
130
129
 
131
130
  # 参数变量
@@ -37,6 +37,3 @@ def time_print(text, Top=False, NoEnter=False, Time=True, Url=""):
37
37
  gVar.index_message["podflow"].append(
38
38
  f'<a href="{Url}"><span class="ansi-url">{Url}</span></a>'
39
39
  )
40
- gVar.text_message.append(
41
- [text, Top, NoEnter]
42
- )
@@ -234,7 +234,3 @@ def main_podcast():
234
234
  # 关闭CherryPy服务器
235
235
  cherrypy.engine.exit()
236
236
  time_print("Podflow运行结束")
237
-
238
- from podflow.basic.file_save import file_save
239
- file_save(gVar.text_message, "text.json")
240
- file_save(gVar.index_message, "index.json")
@@ -404,56 +404,54 @@
404
404
  .catch(error => console.error('获取消息失败:', error));
405
405
  }
406
406
 
407
+ function createMessageElement(message) {
408
+ const p = document.createElement('p');
409
+ p.innerHTML = message;
410
+ p.className = 'message';
411
+ return p;
412
+ }
413
+
407
414
  function appendMessages(container, newMessages, oldMessages) {
408
415
  // 判断当前是否在底部
409
416
  const isAtBottom = container.scrollHeight - container.scrollTop <= container.clientHeight + 10;
410
-
411
- // 只追加新数据,避免重复渲染
417
+
418
+ // 当两数组长度相等且有内容时,只比较最后一项
412
419
  if (newMessages.length === oldMessages.length && newMessages.length > 0) {
413
420
  const lastNewMessage = newMessages[newMessages.length - 1];
414
421
  const lastOldMessage = oldMessages[oldMessages.length - 1];
415
422
  if (lastNewMessage !== lastOldMessage) {
416
- const p = document.createElement('p');
417
- p.innerHTML = lastNewMessage;
418
- p.className = 'message'; // 添加 CSS 类名
419
-
420
- // 获取容器的最后一个子元素
423
+ const p = createMessageElement(lastNewMessage);
421
424
  const lastChild = container.lastElementChild;
422
- // 如果容器有子元素,则替换最后一个
423
425
  if (lastChild) {
424
426
  container.replaceChild(p, lastChild);
425
427
  } else {
426
- // 如果容器为空,则直接添加
427
428
  container.appendChild(p);
428
429
  }
429
430
  }
430
431
  } else {
431
- // 如果 newMessages oldMessages 元素数量不一致,则执行原来的添加逻辑
432
+ // 如果 newMessages oldMessages 数量不一致
433
+ // 先替换容器中最后一项为 newMessages 中对应位置的消息(若 oldMessages 存在数据)
434
+ if (oldMessages.length > 0) {
435
+ const replaceIndex = oldMessages.length - 1;
436
+ const p = createMessageElement(newMessages[replaceIndex]);
437
+ const lastChild = container.lastElementChild;
438
+ if (lastChild) {
439
+ container.replaceChild(p, lastChild);
440
+ } else {
441
+ container.appendChild(p);
442
+ }
443
+ }
444
+ // 再追加从 oldMessages.length 开始的后续消息
432
445
  newMessages.slice(oldMessages.length).forEach(msg => {
433
- const p = document.createElement('p');
434
- p.innerHTML = msg;
435
- p.className = 'message'; // 添加 CSS 类名
436
- container.appendChild(p);
446
+ container.appendChild(createMessageElement(msg));
437
447
  });
438
448
  }
439
-
440
- // 替换倒数第二项和倒数第三项
441
- for (let i = 2; i <= 3; i++) {
442
- const child = container.children[container.children.length - (i + 1)];
443
- if (child && newMessages.length > i) {
444
- const newMessage = newMessages[newMessages.length - (i + 1)];
445
- const p = document.createElement('p');
446
- p.innerHTML = newMessage;
447
- p.className = 'message'; // 添加 CSS 类名
448
- container.replaceChild(p, child);
449
- }
450
- }
451
-
452
- // 如果用户没有主动滚动,才自动滚动到底部
449
+
450
+ // 如果用户没有主动滚动,则自动滚动到底部
453
451
  if (!userScrolled) {
454
452
  container.scrollTop = container.scrollHeight;
455
453
  }
456
- }
454
+ }
457
455
 
458
456
  function startMessagePolling() {
459
457
  getMessages();
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: podflow
3
- Version: 20250404.8
3
+ Version: 20250404.9
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
@@ -5,7 +5,7 @@ from setuptools import setup, find_packages
5
5
 
6
6
  setup(
7
7
  name="podflow",
8
- version="20250404.8",
8
+ version="20250404.9",
9
9
  author="gruel_zxz",
10
10
  author_email="zhuxizhouzxz@gmail.com",
11
11
  description="A podcast server that includes YouTube and BiliBili",
File without changes
File without changes
File without changes