podflow 20250323.1__tar.gz → 20250325__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 (106) hide show
  1. {podflow-20250323.1 → podflow-20250325}/PKG-INFO +1 -1
  2. {podflow-20250323.1 → podflow-20250325}/Podflow/httpfs/app_bottle.py +14 -4
  3. {podflow-20250323.1 → podflow-20250325}/Podflow/httpfs/html.py +1 -1
  4. {podflow-20250323.1 → podflow-20250325}/Podflow/message/get_youtube_and_bilibili_video_format.py +1 -1
  5. podflow-20250325/Podflow/upload/upload_server.py +17 -0
  6. {podflow-20250323.1 → podflow-20250325}/podflow.egg-info/PKG-INFO +1 -1
  7. {podflow-20250323.1 → podflow-20250325}/podflow.egg-info/SOURCES.txt +1 -0
  8. {podflow-20250323.1 → podflow-20250325}/podflow.egg-info/requires.txt +1 -1
  9. {podflow-20250323.1 → podflow-20250325}/setup.py +2 -2
  10. {podflow-20250323.1 → podflow-20250325}/Podflow/__init__.py +0 -0
  11. {podflow-20250323.1 → podflow-20250325}/Podflow/basic/__init__.py +0 -0
  12. {podflow-20250323.1 → podflow-20250325}/Podflow/basic/file_save.py +0 -0
  13. {podflow-20250323.1 → podflow-20250325}/Podflow/basic/folder_build.py +0 -0
  14. {podflow-20250323.1 → podflow-20250325}/Podflow/basic/get_duration.py +0 -0
  15. {podflow-20250323.1 → podflow-20250325}/Podflow/basic/get_file_list.py +0 -0
  16. {podflow-20250323.1 → podflow-20250325}/Podflow/basic/get_html_dict.py +0 -0
  17. {podflow-20250323.1 → podflow-20250325}/Podflow/basic/http_client.py +0 -0
  18. {podflow-20250323.1 → podflow-20250325}/Podflow/basic/list_merge_tidy.py +0 -0
  19. {podflow-20250323.1 → podflow-20250325}/Podflow/basic/qr_code.py +0 -0
  20. {podflow-20250323.1 → podflow-20250325}/Podflow/basic/split_dict.py +0 -0
  21. {podflow-20250323.1 → podflow-20250325}/Podflow/basic/time_format.py +0 -0
  22. {podflow-20250323.1 → podflow-20250325}/Podflow/basic/time_print.py +0 -0
  23. {podflow-20250323.1 → podflow-20250325}/Podflow/basic/time_stamp.py +0 -0
  24. {podflow-20250323.1 → podflow-20250325}/Podflow/basic/vary_replace.py +0 -0
  25. {podflow-20250323.1 → podflow-20250325}/Podflow/basic/write_log.py +0 -0
  26. {podflow-20250323.1 → podflow-20250325}/Podflow/bilibili/__init__.py +0 -0
  27. {podflow-20250323.1 → podflow-20250325}/Podflow/bilibili/build.py +0 -0
  28. {podflow-20250323.1 → podflow-20250325}/Podflow/bilibili/get.py +0 -0
  29. {podflow-20250323.1 → podflow-20250325}/Podflow/bilibili/login.py +0 -0
  30. {podflow-20250323.1 → podflow-20250325}/Podflow/config/__init__.py +0 -0
  31. {podflow-20250323.1 → podflow-20250325}/Podflow/config/build_original.py +0 -0
  32. {podflow-20250323.1 → podflow-20250325}/Podflow/config/channge_icon.py +0 -0
  33. {podflow-20250323.1 → podflow-20250325}/Podflow/config/correct_channelid.py +0 -0
  34. {podflow-20250323.1 → podflow-20250325}/Podflow/config/correct_config.py +0 -0
  35. {podflow-20250323.1 → podflow-20250325}/Podflow/config/get_channelid.py +0 -0
  36. {podflow-20250323.1 → podflow-20250325}/Podflow/config/get_channelid_id.py +0 -0
  37. {podflow-20250323.1 → podflow-20250325}/Podflow/config/get_config.py +0 -0
  38. {podflow-20250323.1 → podflow-20250325}/Podflow/download/__init__.py +0 -0
  39. {podflow-20250323.1 → podflow-20250325}/Podflow/download/convert_bytes.py +0 -0
  40. {podflow-20250323.1 → podflow-20250325}/Podflow/download/delete_part.py +0 -0
  41. {podflow-20250323.1 → podflow-20250325}/Podflow/download/dl_aideo_video.py +0 -0
  42. {podflow-20250323.1 → podflow-20250325}/Podflow/download/show_progress.py +0 -0
  43. {podflow-20250323.1 → podflow-20250325}/Podflow/download/wait_animation.py +0 -0
  44. {podflow-20250323.1 → podflow-20250325}/Podflow/download/youtube_and_bilibili_download.py +0 -0
  45. {podflow-20250323.1 → podflow-20250325}/Podflow/download_and_build.py +0 -0
  46. {podflow-20250323.1 → podflow-20250325}/Podflow/ffmpeg_judge.py +0 -0
  47. {podflow-20250323.1 → podflow-20250325}/Podflow/httpfs/__init__.py +0 -0
  48. {podflow-20250323.1 → podflow-20250325}/Podflow/httpfs/browser.py +0 -0
  49. {podflow-20250323.1 → podflow-20250325}/Podflow/httpfs/get_channelid.py +0 -0
  50. {podflow-20250323.1 → podflow-20250325}/Podflow/httpfs/port_judge.py +0 -0
  51. {podflow-20250323.1 → podflow-20250325}/Podflow/main.py +0 -0
  52. {podflow-20250323.1 → podflow-20250325}/Podflow/main_podcast.py +0 -0
  53. {podflow-20250323.1 → podflow-20250325}/Podflow/main_upload.py +0 -0
  54. {podflow-20250323.1 → podflow-20250325}/Podflow/makeup/__init__.py +0 -0
  55. {podflow-20250323.1 → podflow-20250325}/Podflow/makeup/del_makeup_format_fail.py +0 -0
  56. {podflow-20250323.1 → podflow-20250325}/Podflow/makeup/make_up_file.py +0 -0
  57. {podflow-20250323.1 → podflow-20250325}/Podflow/makeup/make_up_file_format_mod.py +0 -0
  58. {podflow-20250323.1 → podflow-20250325}/Podflow/makeup/make_up_file_mod.py +0 -0
  59. {podflow-20250323.1 → podflow-20250325}/Podflow/message/__init__.py +0 -0
  60. {podflow-20250323.1 → podflow-20250325}/Podflow/message/backup_zip_save.py +0 -0
  61. {podflow-20250323.1 → podflow-20250325}/Podflow/message/create_main_rss.py +0 -0
  62. {podflow-20250323.1 → podflow-20250325}/Podflow/message/display_qrcode_and_url.py +0 -0
  63. {podflow-20250323.1 → podflow-20250325}/Podflow/message/fail_message_initialize.py +0 -0
  64. {podflow-20250323.1 → podflow-20250325}/Podflow/message/format_time.py +0 -0
  65. {podflow-20250323.1 → podflow-20250325}/Podflow/message/get_media_name.py +0 -0
  66. {podflow-20250323.1 → podflow-20250325}/Podflow/message/get_original_rss.py +0 -0
  67. {podflow-20250323.1 → podflow-20250325}/Podflow/message/get_video_format.py +0 -0
  68. {podflow-20250323.1 → podflow-20250325}/Podflow/message/get_video_format_multithread.py +0 -0
  69. {podflow-20250323.1 → podflow-20250325}/Podflow/message/media_format.py +0 -0
  70. {podflow-20250323.1 → podflow-20250325}/Podflow/message/original_rss_fail_print.py +0 -0
  71. {podflow-20250323.1 → podflow-20250325}/Podflow/message/rss_create_hash.py +0 -0
  72. {podflow-20250323.1 → podflow-20250325}/Podflow/message/save_rss.py +0 -0
  73. {podflow-20250323.1 → podflow-20250325}/Podflow/message/title_correction.py +0 -0
  74. {podflow-20250323.1 → podflow-20250325}/Podflow/message/update_information_display.py +0 -0
  75. {podflow-20250323.1 → podflow-20250325}/Podflow/message/update_youtube_bilibili_rss.py +0 -0
  76. {podflow-20250323.1 → podflow-20250325}/Podflow/message/want_retry.py +0 -0
  77. {podflow-20250323.1 → podflow-20250325}/Podflow/message/xml_item.py +0 -0
  78. {podflow-20250323.1 → podflow-20250325}/Podflow/message/xml_original_item.py +0 -0
  79. {podflow-20250323.1 → podflow-20250325}/Podflow/message/xml_rss.py +0 -0
  80. {podflow-20250323.1 → podflow-20250325}/Podflow/netscape/__init__.py +0 -0
  81. {podflow-20250323.1 → podflow-20250325}/Podflow/netscape/bulid_netscape.py +0 -0
  82. {podflow-20250323.1 → podflow-20250325}/Podflow/netscape/get_cookie_dict.py +0 -0
  83. {podflow-20250323.1 → podflow-20250325}/Podflow/parse_arguments.py +0 -0
  84. {podflow-20250323.1 → podflow-20250325}/Podflow/remove/__init__.py +0 -0
  85. {podflow-20250323.1 → podflow-20250325}/Podflow/remove/remove_dir.py +0 -0
  86. {podflow-20250323.1 → podflow-20250325}/Podflow/remove/remove_file.py +0 -0
  87. {podflow-20250323.1 → podflow-20250325}/Podflow/repair/__init__.py +0 -0
  88. {podflow-20250323.1 → podflow-20250325}/Podflow/repair/reverse_log.py +0 -0
  89. {podflow-20250323.1 → podflow-20250325}/Podflow/upload/__init__.py +0 -0
  90. {podflow-20250323.1 → podflow-20250325}/Podflow/upload/add_upload.py +0 -0
  91. {podflow-20250323.1 → podflow-20250325}/Podflow/upload/build_hash.py +0 -0
  92. {podflow-20250323.1 → podflow-20250325}/Podflow/upload/get_upload_original.py +0 -0
  93. {podflow-20250323.1 → podflow-20250325}/Podflow/upload/linked_client.py +0 -0
  94. {podflow-20250323.1 → podflow-20250325}/Podflow/upload/linked_server.py +0 -0
  95. {podflow-20250323.1 → podflow-20250325}/Podflow/upload/login.py +0 -0
  96. {podflow-20250323.1 → podflow-20250325}/Podflow/upload/time_key.py +0 -0
  97. {podflow-20250323.1 → podflow-20250325}/Podflow/upload/update_upload.py +0 -0
  98. {podflow-20250323.1 → podflow-20250325}/Podflow/youtube/__init__.py +0 -0
  99. {podflow-20250323.1 → podflow-20250325}/Podflow/youtube/build.py +0 -0
  100. {podflow-20250323.1 → podflow-20250325}/Podflow/youtube/get.py +0 -0
  101. {podflow-20250323.1 → podflow-20250325}/Podflow/youtube/login.py +0 -0
  102. {podflow-20250323.1 → podflow-20250325}/README.md +0 -0
  103. {podflow-20250323.1 → podflow-20250325}/podflow.egg-info/dependency_links.txt +0 -0
  104. {podflow-20250323.1 → podflow-20250325}/podflow.egg-info/entry_points.txt +0 -0
  105. {podflow-20250323.1 → podflow-20250325}/podflow.egg-info/top_level.txt +0 -0
  106. {podflow-20250323.1 → podflow-20250325}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: podflow
3
- Version: 20250323.1
3
+ Version: 20250325
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
@@ -3,6 +3,7 @@
3
3
 
4
4
  import os
5
5
  import hashlib
6
+ import pkg_resources
6
7
  from datetime import datetime
7
8
  import cherrypy
8
9
  from bottle import Bottle, abort, redirect, request, static_file, response, template
@@ -38,6 +39,7 @@ class bottle_app:
38
39
  self.app_bottle.route("/upload", method="POST", callback=self.upload)
39
40
  else:
40
41
  # 设置其他路由,回调函数为serve_static
42
+ self.app_bottle.route("/try", method=["GET", "POST"], callback=self.try1)
41
43
  self.app_bottle.route("/index", method=["GET", "POST"], callback=self.index)
42
44
  self.app_bottle.route("/<filename:path>", callback=self.serve_static)
43
45
 
@@ -249,12 +251,14 @@ class bottle_app:
249
251
  }
250
252
 
251
253
  # 获取Channel-ID请求
252
- def index(self):
254
+ def index(self):
253
255
  if request.method == "POST":
254
256
  user_input = request.forms.get("inputOutput") # 获取用户输入
255
257
  processed_input = get_channelid(user_input)
256
258
  self.print_out("channelid", 200)
257
- return template(html_index, processed_input=processed_input) # 直接回显到输入框
259
+ return template(
260
+ html_index, processed_input=processed_input
261
+ ) # 直接回显到输入框
258
262
  else:
259
263
  self.print_out("index", 200)
260
264
  return template(html_index, processed_input="") # 默认输入框为空
@@ -374,8 +378,7 @@ class bottle_app:
374
378
  "filename": filename,
375
379
  },
376
380
  }
377
- else:
378
- num += 1
381
+ num += 1
379
382
  else:
380
383
  file_save(upload_file, filename, address)
381
384
  # 打印成功信息并返回成功码
@@ -388,5 +391,12 @@ class bottle_app:
388
391
  },
389
392
  }
390
393
 
394
+ def try1(self):
395
+ # 使用pkg_resources获取模板文件路径
396
+ template_path = pkg_resources.resource_filename('Podflow', 'views/try.html')
397
+ with open(template_path, 'r') as f:
398
+ html_content = f.read()
399
+ return html_content
400
+
391
401
 
392
402
  bottle_app_instance = bottle_app()
@@ -86,7 +86,7 @@ html_index = '''<!DOCTYPE html>
86
86
  <div class="button-container">
87
87
  <button type="button" onclick="pasteFromClipboard()">📋 粘贴</button>
88
88
  <button type="submit">✅ 提交</button>
89
- //<button type="button" onclick="copyText()">📄 拷贝</button>
89
+ <button type="button" onclick="copyText()">📄 拷贝</button>
90
90
  <button type="button" onclick="clearInput()">🗑️ 清空</button>
91
91
  </div>
92
92
  <p class="hint">📌 如果粘贴按钮无效,请长按输入框手动粘贴。</p>
@@ -27,7 +27,7 @@ def get_youtube_and_bilibili_video_format(id_num, stop_flag, video_format_lock,
27
27
  gVar.video_id_update_format[id_num]["quality"],
28
28
  gVar.video_id_update_format[id_num]["cookie"],
29
29
  )
30
- for fail_info in ["年龄限制", "需登录", "请求拒绝"]:
30
+ for fail_info in ["年龄限制", "需登录", "请求拒绝", "无法获取音频ID"]:
31
31
  if fail_info in id_update_format:
32
32
  if gVar.youtube_cookie:
33
33
  gVar.video_id_update_format[id_num]["cookie"] = "channel_data/yt_dlp_youtube.txt"
@@ -0,0 +1,17 @@
1
+ # Podflow/upload/upload_server.py
2
+ # coding: utf-8
3
+
4
+ import json
5
+
6
+
7
+ def get_uploads_original():
8
+ try:
9
+ # 尝试打开并读取 JSON 文件
10
+ with open("channel_data/upload_server.json", "r") as file:
11
+ uploads_original = file.read() # 读取原始上传数据
12
+ uploads_original = json.loads(
13
+ uploads_original
14
+ ) # 将读取的字符串转换为 Python 对象(列表或字典)
15
+ except Exception:
16
+ # 如果读取或解析失败,将 upload_original 初始化为空列表
17
+ uploads_original = []
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: podflow
3
- Version: 20250323.1
3
+ Version: 20250325
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
@@ -91,6 +91,7 @@ Podflow/upload/linked_server.py
91
91
  Podflow/upload/login.py
92
92
  Podflow/upload/time_key.py
93
93
  Podflow/upload/update_upload.py
94
+ Podflow/upload/upload_server.py
94
95
  Podflow/youtube/__init__.py
95
96
  Podflow/youtube/build.py
96
97
  Podflow/youtube/get.py
@@ -1,6 +1,6 @@
1
1
  astral>=3.2
2
2
  bottle>=0.13.2
3
- yt-dlp>=2025.3.21
3
+ yt-dlp>=2025.3.25
4
4
  chardet>=5.2.0
5
5
  cherrypy>=18.10.0
6
6
  pyqrcode>=1.2.1
@@ -5,7 +5,7 @@ from setuptools import setup, find_packages
5
5
 
6
6
  setup(
7
7
  name="podflow",
8
- version="20250323.1",
8
+ version="20250325",
9
9
  author="gruel_zxz",
10
10
  author_email="zhuxizhouzxz@gmail.com",
11
11
  description="A podcast server that includes YouTube and BiliBili",
@@ -30,7 +30,7 @@ setup(
30
30
  install_requires=[
31
31
  "astral>=3.2",
32
32
  "bottle>=0.13.2",
33
- "yt-dlp>=2025.3.21",
33
+ "yt-dlp>=2025.3.25",
34
34
  "chardet>=5.2.0",
35
35
  "cherrypy>=18.10.0",
36
36
  "pyqrcode>=1.2.1",
File without changes
File without changes
File without changes