podflow 20250401__tar.gz → 20250401.2__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-20250401 → podflow-20250401.2}/PKG-INFO +1 -1
  2. {podflow-20250401 → podflow-20250401.2}/podflow/templates/index.html +54 -30
  3. {podflow-20250401 → podflow-20250401.2}/podflow.egg-info/PKG-INFO +1 -1
  4. {podflow-20250401 → podflow-20250401.2}/setup.py +1 -1
  5. {podflow-20250401 → podflow-20250401.2}/MANIFEST.in +0 -0
  6. {podflow-20250401 → podflow-20250401.2}/README.md +0 -0
  7. {podflow-20250401 → podflow-20250401.2}/podflow/__init__.py +0 -0
  8. {podflow-20250401 → podflow-20250401.2}/podflow/basic/__init__.py +0 -0
  9. {podflow-20250401 → podflow-20250401.2}/podflow/basic/file_save.py +0 -0
  10. {podflow-20250401 → podflow-20250401.2}/podflow/basic/folder_build.py +0 -0
  11. {podflow-20250401 → podflow-20250401.2}/podflow/basic/get_duration.py +0 -0
  12. {podflow-20250401 → podflow-20250401.2}/podflow/basic/get_file_list.py +0 -0
  13. {podflow-20250401 → podflow-20250401.2}/podflow/basic/get_html_dict.py +0 -0
  14. {podflow-20250401 → podflow-20250401.2}/podflow/basic/http_client.py +0 -0
  15. {podflow-20250401 → podflow-20250401.2}/podflow/basic/list_merge_tidy.py +0 -0
  16. {podflow-20250401 → podflow-20250401.2}/podflow/basic/qr_code.py +0 -0
  17. {podflow-20250401 → podflow-20250401.2}/podflow/basic/split_dict.py +0 -0
  18. {podflow-20250401 → podflow-20250401.2}/podflow/basic/time_format.py +0 -0
  19. {podflow-20250401 → podflow-20250401.2}/podflow/basic/time_print.py +0 -0
  20. {podflow-20250401 → podflow-20250401.2}/podflow/basic/time_stamp.py +0 -0
  21. {podflow-20250401 → podflow-20250401.2}/podflow/basic/vary_replace.py +0 -0
  22. {podflow-20250401 → podflow-20250401.2}/podflow/basic/write_log.py +0 -0
  23. {podflow-20250401 → podflow-20250401.2}/podflow/bilibili/__init__.py +0 -0
  24. {podflow-20250401 → podflow-20250401.2}/podflow/bilibili/build.py +0 -0
  25. {podflow-20250401 → podflow-20250401.2}/podflow/bilibili/get.py +0 -0
  26. {podflow-20250401 → podflow-20250401.2}/podflow/bilibili/login.py +0 -0
  27. {podflow-20250401 → podflow-20250401.2}/podflow/config/__init__.py +0 -0
  28. {podflow-20250401 → podflow-20250401.2}/podflow/config/build_original.py +0 -0
  29. {podflow-20250401 → podflow-20250401.2}/podflow/config/channge_icon.py +0 -0
  30. {podflow-20250401 → podflow-20250401.2}/podflow/config/correct_channelid.py +0 -0
  31. {podflow-20250401 → podflow-20250401.2}/podflow/config/correct_config.py +0 -0
  32. {podflow-20250401 → podflow-20250401.2}/podflow/config/get_channelid.py +0 -0
  33. {podflow-20250401 → podflow-20250401.2}/podflow/config/get_channelid_id.py +0 -0
  34. {podflow-20250401 → podflow-20250401.2}/podflow/config/get_config.py +0 -0
  35. {podflow-20250401 → podflow-20250401.2}/podflow/download/__init__.py +0 -0
  36. {podflow-20250401 → podflow-20250401.2}/podflow/download/convert_bytes.py +0 -0
  37. {podflow-20250401 → podflow-20250401.2}/podflow/download/delete_part.py +0 -0
  38. {podflow-20250401 → podflow-20250401.2}/podflow/download/dl_aideo_video.py +0 -0
  39. {podflow-20250401 → podflow-20250401.2}/podflow/download/show_progress.py +0 -0
  40. {podflow-20250401 → podflow-20250401.2}/podflow/download/wait_animation.py +0 -0
  41. {podflow-20250401 → podflow-20250401.2}/podflow/download/youtube_and_bilibili_download.py +0 -0
  42. {podflow-20250401 → podflow-20250401.2}/podflow/download_and_build.py +0 -0
  43. {podflow-20250401 → podflow-20250401.2}/podflow/ffmpeg_judge.py +0 -0
  44. {podflow-20250401 → podflow-20250401.2}/podflow/httpfs/__init__.py +0 -0
  45. {podflow-20250401 → podflow-20250401.2}/podflow/httpfs/app_bottle.py +0 -0
  46. {podflow-20250401 → podflow-20250401.2}/podflow/httpfs/browser.py +0 -0
  47. {podflow-20250401 → podflow-20250401.2}/podflow/httpfs/get_channelid.py +0 -0
  48. {podflow-20250401 → podflow-20250401.2}/podflow/httpfs/port_judge.py +0 -0
  49. {podflow-20250401 → podflow-20250401.2}/podflow/httpfs/to_html.py +0 -0
  50. {podflow-20250401 → podflow-20250401.2}/podflow/main.py +0 -0
  51. {podflow-20250401 → podflow-20250401.2}/podflow/main_podcast.py +0 -0
  52. {podflow-20250401 → podflow-20250401.2}/podflow/main_upload.py +0 -0
  53. {podflow-20250401 → podflow-20250401.2}/podflow/makeup/__init__.py +0 -0
  54. {podflow-20250401 → podflow-20250401.2}/podflow/makeup/del_makeup_format_fail.py +0 -0
  55. {podflow-20250401 → podflow-20250401.2}/podflow/makeup/make_up_file.py +0 -0
  56. {podflow-20250401 → podflow-20250401.2}/podflow/makeup/make_up_file_format_mod.py +0 -0
  57. {podflow-20250401 → podflow-20250401.2}/podflow/makeup/make_up_file_mod.py +0 -0
  58. {podflow-20250401 → podflow-20250401.2}/podflow/message/__init__.py +0 -0
  59. {podflow-20250401 → podflow-20250401.2}/podflow/message/backup_zip_save.py +0 -0
  60. {podflow-20250401 → podflow-20250401.2}/podflow/message/create_main_rss.py +0 -0
  61. {podflow-20250401 → podflow-20250401.2}/podflow/message/display_qrcode_and_url.py +0 -0
  62. {podflow-20250401 → podflow-20250401.2}/podflow/message/fail_message_initialize.py +0 -0
  63. {podflow-20250401 → podflow-20250401.2}/podflow/message/format_time.py +0 -0
  64. {podflow-20250401 → podflow-20250401.2}/podflow/message/get_media_name.py +0 -0
  65. {podflow-20250401 → podflow-20250401.2}/podflow/message/get_original_rss.py +0 -0
  66. {podflow-20250401 → podflow-20250401.2}/podflow/message/get_video_format.py +0 -0
  67. {podflow-20250401 → podflow-20250401.2}/podflow/message/get_video_format_multithread.py +0 -0
  68. {podflow-20250401 → podflow-20250401.2}/podflow/message/get_youtube_and_bilibili_video_format.py +0 -0
  69. {podflow-20250401 → podflow-20250401.2}/podflow/message/media_format.py +0 -0
  70. {podflow-20250401 → podflow-20250401.2}/podflow/message/original_rss_fail_print.py +0 -0
  71. {podflow-20250401 → podflow-20250401.2}/podflow/message/rss_create_hash.py +0 -0
  72. {podflow-20250401 → podflow-20250401.2}/podflow/message/save_rss.py +0 -0
  73. {podflow-20250401 → podflow-20250401.2}/podflow/message/title_correction.py +0 -0
  74. {podflow-20250401 → podflow-20250401.2}/podflow/message/update_information_display.py +0 -0
  75. {podflow-20250401 → podflow-20250401.2}/podflow/message/update_youtube_bilibili_rss.py +0 -0
  76. {podflow-20250401 → podflow-20250401.2}/podflow/message/want_retry.py +0 -0
  77. {podflow-20250401 → podflow-20250401.2}/podflow/message/xml_item.py +0 -0
  78. {podflow-20250401 → podflow-20250401.2}/podflow/message/xml_original_item.py +0 -0
  79. {podflow-20250401 → podflow-20250401.2}/podflow/message/xml_rss.py +0 -0
  80. {podflow-20250401 → podflow-20250401.2}/podflow/netscape/__init__.py +0 -0
  81. {podflow-20250401 → podflow-20250401.2}/podflow/netscape/bulid_netscape.py +0 -0
  82. {podflow-20250401 → podflow-20250401.2}/podflow/netscape/get_cookie_dict.py +0 -0
  83. {podflow-20250401 → podflow-20250401.2}/podflow/parse_arguments.py +0 -0
  84. {podflow-20250401 → podflow-20250401.2}/podflow/remove/__init__.py +0 -0
  85. {podflow-20250401 → podflow-20250401.2}/podflow/remove/remove_dir.py +0 -0
  86. {podflow-20250401 → podflow-20250401.2}/podflow/remove/remove_file.py +0 -0
  87. {podflow-20250401 → podflow-20250401.2}/podflow/repair/__init__.py +0 -0
  88. {podflow-20250401 → podflow-20250401.2}/podflow/repair/reverse_log.py +0 -0
  89. {podflow-20250401 → podflow-20250401.2}/podflow/upload/__init__.py +0 -0
  90. {podflow-20250401 → podflow-20250401.2}/podflow/upload/add_upload.py +0 -0
  91. {podflow-20250401 → podflow-20250401.2}/podflow/upload/build_hash.py +0 -0
  92. {podflow-20250401 → podflow-20250401.2}/podflow/upload/get_upload_original.py +0 -0
  93. {podflow-20250401 → podflow-20250401.2}/podflow/upload/linked_client.py +0 -0
  94. {podflow-20250401 → podflow-20250401.2}/podflow/upload/linked_server.py +0 -0
  95. {podflow-20250401 → podflow-20250401.2}/podflow/upload/login.py +0 -0
  96. {podflow-20250401 → podflow-20250401.2}/podflow/upload/time_key.py +0 -0
  97. {podflow-20250401 → podflow-20250401.2}/podflow/upload/update_upload.py +0 -0
  98. {podflow-20250401 → podflow-20250401.2}/podflow/upload/upload_server.py +0 -0
  99. {podflow-20250401 → podflow-20250401.2}/podflow/youtube/__init__.py +0 -0
  100. {podflow-20250401 → podflow-20250401.2}/podflow/youtube/build.py +0 -0
  101. {podflow-20250401 → podflow-20250401.2}/podflow/youtube/get.py +0 -0
  102. {podflow-20250401 → podflow-20250401.2}/podflow/youtube/login.py +0 -0
  103. {podflow-20250401 → podflow-20250401.2}/podflow.egg-info/SOURCES.txt +0 -0
  104. {podflow-20250401 → podflow-20250401.2}/podflow.egg-info/dependency_links.txt +0 -0
  105. {podflow-20250401 → podflow-20250401.2}/podflow.egg-info/entry_points.txt +0 -0
  106. {podflow-20250401 → podflow-20250401.2}/podflow.egg-info/requires.txt +0 -0
  107. {podflow-20250401 → podflow-20250401.2}/podflow.egg-info/top_level.txt +0 -0
  108. {podflow-20250401 → podflow-20250401.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: podflow
3
- Version: 20250401
3
+ Version: 20250401.2
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
@@ -151,7 +151,7 @@
151
151
  font-size: 16px;
152
152
  }
153
153
  #messageArea {
154
- height: 30px;
154
+ height: 350px;
155
155
  font-size: 12px;
156
156
  }
157
157
  #messageHttp {
@@ -219,6 +219,7 @@
219
219
  }
220
220
  .message {
221
221
  padding: 0px;
222
+ margin: 0px;
222
223
  }
223
224
 
224
225
  /* 二维码容器样式 */
@@ -270,6 +271,52 @@
270
271
  </main>
271
272
  <script>
272
273
  (function() {
274
+ // 生成单个二维码的函数
275
+ function generateQRCodeForNode(container) {
276
+ const rootStyles = getComputedStyle(document.documentElement);
277
+ const textColor = rootStyles.getPropertyValue('--text-color');
278
+ const inputBg = rootStyles.getPropertyValue('--input-bg');
279
+ const url = container.dataset.url;
280
+ container.innerHTML = '';
281
+ if (url) {
282
+ new QRCode(container, {
283
+ text: url,
284
+ width: 128,
285
+ height: 128,
286
+ colorDark: textColor,
287
+ colorLight: inputBg,
288
+ correctLevel: QRCode.CorrectLevel.H
289
+ });
290
+ } else {
291
+ container.textContent = 'URL 未提供';
292
+ }
293
+ }
294
+
295
+ // 为所有存在的二维码容器生成二维码
296
+ function generateQRCodes() {
297
+ const containers = document.querySelectorAll('.qrcode-container');
298
+ containers.forEach(generateQRCodeForNode);
299
+ }
300
+
301
+ // 利用 MutationObserver 动态监听 container 内新增的二维码容器
302
+ function observeQRCodes(container) {
303
+ const observer = new MutationObserver((mutationsList) => {
304
+ mutationsList.forEach(mutation => {
305
+ mutation.addedNodes.forEach(node => {
306
+ if (node.nodeType === Node.ELEMENT_NODE) {
307
+ if (node.classList.contains('qrcode-container')) {
308
+ generateQRCodeForNode(node);
309
+ } else {
310
+ const childContainers = node.querySelectorAll('.qrcode-container');
311
+ childContainers.forEach(generateQRCodeForNode);
312
+ }
313
+ }
314
+ });
315
+ });
316
+ });
317
+ observer.observe(container, { childList: true, subtree: true });
318
+ }
319
+
273
320
  // 缓存常用节点
274
321
  const menu = document.getElementById('menu');
275
322
  const toggleMenuBtn = document.getElementById('toggleMenu');
@@ -285,10 +332,12 @@
285
332
  const pasteBtn = document.getElementById('pasteBtn');
286
333
  const copyBtn = document.getElementById('copyBtn');
287
334
  const clearBtn = document.getElementById('clearBtn');
288
- const qrcodeContainers = document.querySelectorAll('.qrcode-container'); // 获取所有二维码容器
289
335
 
290
336
  let pollingTimer = null;
291
337
 
338
+ // 监听 messageArea 内动态新增的二维码容器
339
+ observeQRCodes(messageArea);
340
+
292
341
  // 菜单切换函数
293
342
  function toggleMenu() {
294
343
  menu.classList.toggle('hidden');
@@ -312,7 +361,7 @@
312
361
  }
313
362
  pageId === 'pageMessage' ? startMessagePolling() : stopMessagePolling();
314
363
  if (pageId === 'pageMessage') {
315
- generateQRCodes(); // 当切换页面时生成二维码
364
+ generateQRCodes(); // 页面切换时生成已有二维码
316
365
  }
317
366
  }
318
367
  }
@@ -403,7 +452,7 @@
403
452
  startMessagePolling();
404
453
 
405
454
  // 表单异步提交(获取 Channel-ID)
406
- inputForm.addEventListener('submit', function(event) {
455
+ inputForm && inputForm.addEventListener('submit', function(event) {
407
456
  event.preventDefault();
408
457
  const content = inputOutput.value;
409
458
  fetch('getid', {
@@ -486,31 +535,6 @@
486
535
  toggleMenuBtn.textContent = '❯';
487
536
  }
488
537
 
489
- // 生成二维码的函数
490
- function generateQRCodes() {
491
- const rootStyles = getComputedStyle(document.documentElement);
492
- const textColor = rootStyles.getPropertyValue('--text-color');
493
- const inputBg = rootStyles.getPropertyValue('--input-bg');
494
-
495
- qrcodeContainers.forEach(container => {
496
- const url = container.dataset.url;
497
- // 清空容器中可能已有的内容
498
- container.innerHTML = '';
499
- if (url) {
500
- new QRCode(container, {
501
- text: url,
502
- width: 128,
503
- height: 128,
504
- colorDark: textColor,
505
- colorLight: inputBg,
506
- correctLevel: QRCode.CorrectLevel.H
507
- });
508
- } else {
509
- container.textContent = 'URL 未提供';
510
- }
511
- });
512
- }
513
-
514
538
  // 在页面加载完成后首次生成二维码(如果当前显示的是 Channel 页面)
515
539
  window.addEventListener('load', () => {
516
540
  if (pages.pageChannel.style.display === 'block') {
@@ -520,4 +544,4 @@
520
544
  })();
521
545
  </script>
522
546
  </body>
523
- </html>
547
+ </html>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: podflow
3
- Version: 20250401
3
+ Version: 20250401.2
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="20250401",
8
+ version="20250401.2",
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
File without changes