podflow 20250326.1__py3-none-any.whl → 20250327__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.
Files changed (104) hide show
  1. {Podflow → podflow}/httpfs/app_bottle.py +17 -21
  2. podflow/templates/index.html +170 -0
  3. {podflow-20250326.1.dist-info → podflow-20250327.dist-info}/METADATA +1 -1
  4. podflow-20250327.dist-info/RECORD +101 -0
  5. podflow-20250327.dist-info/top_level.txt +1 -0
  6. Podflow/httpfs/html.py +0 -145
  7. podflow-20250326.1.dist-info/RECORD +0 -101
  8. podflow-20250326.1.dist-info/top_level.txt +0 -1
  9. {Podflow → podflow}/__init__.py +0 -0
  10. {Podflow → podflow}/basic/__init__.py +0 -0
  11. {Podflow → podflow}/basic/file_save.py +0 -0
  12. {Podflow → podflow}/basic/folder_build.py +0 -0
  13. {Podflow → podflow}/basic/get_duration.py +0 -0
  14. {Podflow → podflow}/basic/get_file_list.py +0 -0
  15. {Podflow → podflow}/basic/get_html_dict.py +0 -0
  16. {Podflow → podflow}/basic/http_client.py +0 -0
  17. {Podflow → podflow}/basic/list_merge_tidy.py +0 -0
  18. {Podflow → podflow}/basic/qr_code.py +0 -0
  19. {Podflow → podflow}/basic/split_dict.py +0 -0
  20. {Podflow → podflow}/basic/time_format.py +0 -0
  21. {Podflow → podflow}/basic/time_print.py +0 -0
  22. {Podflow → podflow}/basic/time_stamp.py +0 -0
  23. {Podflow → podflow}/basic/vary_replace.py +0 -0
  24. {Podflow → podflow}/basic/write_log.py +0 -0
  25. {Podflow → podflow}/bilibili/__init__.py +0 -0
  26. {Podflow → podflow}/bilibili/build.py +0 -0
  27. {Podflow → podflow}/bilibili/get.py +0 -0
  28. {Podflow → podflow}/bilibili/login.py +0 -0
  29. {Podflow → podflow}/config/__init__.py +0 -0
  30. {Podflow → podflow}/config/build_original.py +0 -0
  31. {Podflow → podflow}/config/channge_icon.py +0 -0
  32. {Podflow → podflow}/config/correct_channelid.py +0 -0
  33. {Podflow → podflow}/config/correct_config.py +0 -0
  34. {Podflow → podflow}/config/get_channelid.py +0 -0
  35. {Podflow → podflow}/config/get_channelid_id.py +0 -0
  36. {Podflow → podflow}/config/get_config.py +0 -0
  37. {Podflow → podflow}/download/__init__.py +0 -0
  38. {Podflow → podflow}/download/convert_bytes.py +0 -0
  39. {Podflow → podflow}/download/delete_part.py +0 -0
  40. {Podflow → podflow}/download/dl_aideo_video.py +0 -0
  41. {Podflow → podflow}/download/show_progress.py +0 -0
  42. {Podflow → podflow}/download/wait_animation.py +0 -0
  43. {Podflow → podflow}/download/youtube_and_bilibili_download.py +0 -0
  44. {Podflow → podflow}/download_and_build.py +0 -0
  45. {Podflow → podflow}/ffmpeg_judge.py +0 -0
  46. {Podflow → podflow}/httpfs/__init__.py +0 -0
  47. {Podflow → podflow}/httpfs/browser.py +0 -0
  48. {Podflow → podflow}/httpfs/get_channelid.py +0 -0
  49. {Podflow → podflow}/httpfs/port_judge.py +0 -0
  50. {Podflow → podflow}/main.py +0 -0
  51. {Podflow → podflow}/main_podcast.py +0 -0
  52. {Podflow → podflow}/main_upload.py +0 -0
  53. {Podflow → podflow}/makeup/__init__.py +0 -0
  54. {Podflow → podflow}/makeup/del_makeup_format_fail.py +0 -0
  55. {Podflow → podflow}/makeup/make_up_file.py +0 -0
  56. {Podflow → podflow}/makeup/make_up_file_format_mod.py +0 -0
  57. {Podflow → podflow}/makeup/make_up_file_mod.py +0 -0
  58. {Podflow → podflow}/message/__init__.py +0 -0
  59. {Podflow → podflow}/message/backup_zip_save.py +0 -0
  60. {Podflow → podflow}/message/create_main_rss.py +0 -0
  61. {Podflow → podflow}/message/display_qrcode_and_url.py +0 -0
  62. {Podflow → podflow}/message/fail_message_initialize.py +0 -0
  63. {Podflow → podflow}/message/format_time.py +0 -0
  64. {Podflow → podflow}/message/get_media_name.py +0 -0
  65. {Podflow → podflow}/message/get_original_rss.py +0 -0
  66. {Podflow → podflow}/message/get_video_format.py +0 -0
  67. {Podflow → podflow}/message/get_video_format_multithread.py +0 -0
  68. {Podflow → podflow}/message/get_youtube_and_bilibili_video_format.py +0 -0
  69. {Podflow → podflow}/message/media_format.py +0 -0
  70. {Podflow → podflow}/message/original_rss_fail_print.py +0 -0
  71. {Podflow → podflow}/message/rss_create_hash.py +0 -0
  72. {Podflow → podflow}/message/save_rss.py +0 -0
  73. {Podflow → podflow}/message/title_correction.py +0 -0
  74. {Podflow → podflow}/message/update_information_display.py +0 -0
  75. {Podflow → podflow}/message/update_youtube_bilibili_rss.py +0 -0
  76. {Podflow → podflow}/message/want_retry.py +0 -0
  77. {Podflow → podflow}/message/xml_item.py +0 -0
  78. {Podflow → podflow}/message/xml_original_item.py +0 -0
  79. {Podflow → podflow}/message/xml_rss.py +0 -0
  80. {Podflow → podflow}/netscape/__init__.py +0 -0
  81. {Podflow → podflow}/netscape/bulid_netscape.py +0 -0
  82. {Podflow → podflow}/netscape/get_cookie_dict.py +0 -0
  83. {Podflow → podflow}/parse_arguments.py +0 -0
  84. {Podflow → podflow}/remove/__init__.py +0 -0
  85. {Podflow → podflow}/remove/remove_dir.py +0 -0
  86. {Podflow → podflow}/remove/remove_file.py +0 -0
  87. {Podflow → podflow}/repair/__init__.py +0 -0
  88. {Podflow → podflow}/repair/reverse_log.py +0 -0
  89. {Podflow → podflow}/upload/__init__.py +0 -0
  90. {Podflow → podflow}/upload/add_upload.py +0 -0
  91. {Podflow → podflow}/upload/build_hash.py +0 -0
  92. {Podflow → podflow}/upload/get_upload_original.py +0 -0
  93. {Podflow → podflow}/upload/linked_client.py +0 -0
  94. {Podflow → podflow}/upload/linked_server.py +0 -0
  95. {Podflow → podflow}/upload/login.py +0 -0
  96. {Podflow → podflow}/upload/time_key.py +0 -0
  97. {Podflow → podflow}/upload/update_upload.py +0 -0
  98. {Podflow → podflow}/upload/upload_server.py +0 -0
  99. {Podflow → podflow}/youtube/__init__.py +0 -0
  100. {Podflow → podflow}/youtube/build.py +0 -0
  101. {Podflow → podflow}/youtube/get.py +0 -0
  102. {Podflow → podflow}/youtube/login.py +0 -0
  103. {podflow-20250326.1.dist-info → podflow-20250327.dist-info}/WHEEL +0 -0
  104. {podflow-20250326.1.dist-info → podflow-20250327.dist-info}/entry_points.txt +0 -0
@@ -6,10 +6,9 @@ import hashlib
6
6
  import pkg_resources
7
7
  from datetime import datetime
8
8
  import cherrypy
9
- from bottle import Bottle, abort, redirect, request, static_file, response, template
9
+ from bottle import Bottle, abort, redirect, request, static_file, response
10
10
  from podflow import gVar
11
11
  from podflow.upload.login import create
12
- from podflow.httpfs.html import html_index
13
12
  from podflow.basic.file_save import file_save
14
13
  from podflow.basic.write_log import write_log
15
14
  from podflow.upload.build_hash import build_hash
@@ -38,9 +37,8 @@ class bottle_app:
38
37
  self.app_bottle.route("/login", callback=self.login)
39
38
  self.app_bottle.route("/upload", method="POST", callback=self.upload)
40
39
  else:
41
- # 设置其他路由,回调函数为serve_static
42
- self.app_bottle.route("/try", method=["GET", "POST"], callback=self.try1)
43
- self.app_bottle.route("/index", method=["GET", "POST"], callback=self.index)
40
+ self.app_bottle.route("/index", callback=self.index)
41
+ self.app_bottle.route("/getid", method="POST", callback=self.getid)
44
42
  self.app_bottle.route("/<filename:path>", callback=self.serve_static)
45
43
 
46
44
  # 设置日志文件名及写入判断
@@ -250,19 +248,6 @@ class bottle_app:
250
248
  "message": "Unauthorized: Invalid Token",
251
249
  }
252
250
 
253
- # 获取Channel-ID请求
254
- def index(self):
255
- if request.method == "POST":
256
- user_input = request.forms.get("inputOutput") # 获取用户输入
257
- processed_input = get_channelid(user_input)
258
- self.print_out("channelid", 200)
259
- return template(
260
- html_index, processed_input=processed_input
261
- ) # 直接回显到输入框
262
- else:
263
- self.print_out("index", 200)
264
- return template(html_index, processed_input="") # 默认输入框为空
265
-
266
251
  # 路由处理登陆请求
267
252
  def login(self):
268
253
  # 获取上传的数据
@@ -391,12 +376,23 @@ class bottle_app:
391
376
  },
392
377
  }
393
378
 
394
- def try1(self):
379
+ def index(self):
395
380
  # 使用pkg_resources获取模板文件路径
396
- template_path = pkg_resources.resource_filename('Podflow', 'views/try.html')
397
- with open(template_path, 'r') as f:
381
+ template_path = pkg_resources.resource_filename('podflow', 'templates/index.html')
382
+ with open(template_path, 'r', encoding="UTF-8") as f:
398
383
  html_content = f.read()
399
384
  return html_content
400
385
 
386
+ def getid(self):
387
+ # 获取 JSON 数据,Bottle 会自动解析请求体中的 JSON 数据
388
+ getid_data = request.json
389
+ # 提取内容(若不存在则默认为空字符串)
390
+ content = getid_data.get("content", "") if getid_data else ""
391
+ response_message = get_channelid(content)
392
+ self.print_out("channelid", 200)
393
+ # 设置响应头为 application/json
394
+ response.content_type = 'application/json'
395
+ return {"response": response_message}
396
+
401
397
 
402
398
  bottle_app_instance = bottle_app()
@@ -0,0 +1,170 @@
1
+ <!DOCTYPE html>
2
+ <html lang="zh">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>输入输出示例</title>
7
+ <style>
8
+ /* 基本样式 */
9
+ body {
10
+ font-family: Arial, sans-serif;
11
+ text-align: center;
12
+ padding: 20px;
13
+ background-color: #f8f9fa;
14
+ }
15
+
16
+ h2 {
17
+ color: #333;
18
+ }
19
+
20
+ /* 响应式输入框 */
21
+ textarea {
22
+ width: 90%;
23
+ max-width: 600px;
24
+ height: 250px; /* 增加默认高度 */
25
+ font-size: 16px;
26
+ padding: 10px;
27
+ border: 1px solid #ccc;
28
+ border-radius: 8px;
29
+ resize: vertical; /* 允许手动调整高度 */
30
+ overflow-y: auto;
31
+ }
32
+
33
+ /* 按钮样式 */
34
+ .button-container {
35
+ margin-top: 10px;
36
+ }
37
+
38
+ button {
39
+ background-color: #007bff;
40
+ color: white;
41
+ border: none;
42
+ padding: 12px 18px;
43
+ font-size: 16px;
44
+ border-radius: 6px;
45
+ cursor: pointer;
46
+ transition: 0.3s;
47
+ box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.2);
48
+ margin: 5px;
49
+ }
50
+
51
+ button:hover {
52
+ background-color: #0056b3;
53
+ }
54
+
55
+ /* 手机端优化 */
56
+ @media (max-width: 600px) {
57
+ textarea {
58
+ font-size: 18px;
59
+ height: 180px;
60
+ }
61
+
62
+ button {
63
+ width: 90%;
64
+ font-size: 18px;
65
+ padding: 14px;
66
+ }
67
+ }
68
+
69
+ /* 提示信息 */
70
+ .hint {
71
+ font-size: 14px;
72
+ color: #666;
73
+ margin-top: 10px;
74
+ }
75
+ </style>
76
+ </head>
77
+ <body>
78
+ <h2>获取 Channel-ID</h2>
79
+ <!-- 将表单的 action 指定为 channelid -->
80
+ <form id="inputForm" method="post" action="getid">
81
+ <label for="inputOutput">请输入:</label><br>
82
+ <textarea name="inputOutput" id="inputOutput"></textarea><br>
83
+ <div class="button-container">
84
+ <button type="button" onclick="pasteFromClipboard()">📋 粘贴</button>
85
+ <button type="submit">✅ 提交</button>
86
+ <button type="button" onclick="copyText()">📄 拷贝</button>
87
+ <button type="button" onclick="clearInput()">🗑️ 清空</button>
88
+ </div>
89
+ <p class="hint">📌 如果粘贴按钮无效,请长按输入框手动粘贴。</p>
90
+ </form>
91
+ <script>
92
+ // 监听表单提交事件,阻止默认提交并使用 fetch 异步发送请求
93
+ document.getElementById('inputForm').addEventListener('submit', function(event) {
94
+ event.preventDefault();
95
+ let inputOutput = document.getElementById('inputOutput');
96
+ const content = inputOutput.value;
97
+
98
+ fetch('getid', {
99
+ method: 'POST',
100
+ headers: {
101
+ 'Content-Type': 'application/json'
102
+ },
103
+ body: JSON.stringify({ content: content })
104
+ })
105
+ .then(response => {
106
+ if (!response.ok) {
107
+ throw new Error('网络响应异常');
108
+ }
109
+ return response.json();
110
+ })
111
+ .then(data => {
112
+ // 假设服务端返回的 JSON 数据中包含 response 字段
113
+ inputOutput.value = data.response;
114
+ })
115
+ .catch(error => {
116
+ console.error('请求失败:', error);
117
+ alert('请求失败,请稍后重试!');
118
+ });
119
+ });
120
+
121
+ // 从剪贴板粘贴内容
122
+ function pasteFromClipboard() {
123
+ let inputOutput = document.getElementById('inputOutput');
124
+ if (navigator.clipboard && navigator.clipboard.readText) {
125
+ navigator.clipboard.readText().then(text => {
126
+ inputOutput.value = text;
127
+ inputOutput.focus();
128
+ }).catch(err => {
129
+ console.warn("剪贴板读取失败:", err);
130
+ alert("无法读取剪贴板,请手动粘贴!");
131
+ });
132
+ } else {
133
+ try {
134
+ inputOutput.focus();
135
+ document.execCommand('paste');
136
+ } catch (err) {
137
+ console.warn("execCommand 粘贴失败:", err);
138
+ alert("您的浏览器不支持自动粘贴,请手动操作!");
139
+ }
140
+ }
141
+ }
142
+
143
+ // 复制文本到剪贴板
144
+ function copyText() {
145
+ let inputOutput = document.getElementById('inputOutput');
146
+ if (navigator.clipboard && navigator.clipboard.writeText) {
147
+ navigator.clipboard.writeText(inputOutput.value).then(() => {
148
+ // 已成功复制到剪贴板
149
+ }).catch(err => {
150
+ console.warn("复制失败:", err);
151
+ alert("无法复制,请手动选择文本后按 Ctrl+C 复制!");
152
+ });
153
+ } else {
154
+ try {
155
+ inputOutput.select();
156
+ document.execCommand('copy');
157
+ } catch (err) {
158
+ console.warn("execCommand 复制失败:", err);
159
+ alert("您的浏览器不支持复制,请手动操作!");
160
+ }
161
+ }
162
+ }
163
+
164
+ // 清空输入框内容
165
+ function clearInput() {
166
+ document.getElementById('inputOutput').value = '';
167
+ }
168
+ </script>
169
+ </body>
170
+ </html>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: podflow
3
- Version: 20250326.1
3
+ Version: 20250327
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
@@ -0,0 +1,101 @@
1
+ podflow/__init__.py,sha256=TlmiRQFXGXAP5WK6i_xjDCWtzj__MfkzK7S8ofjbEW4,6991
2
+ podflow/download_and_build.py,sha256=GKQ1uX8Nuwdhr4wgnGr3jP1Mu0llRUPFcboQ3S05WkU,671
3
+ podflow/ffmpeg_judge.py,sha256=3EtNlHhinsFPtRp74JwCK2TFM6VOjsvpn7rW0OhEMi8,1275
4
+ podflow/main.py,sha256=Cz2E33-Kcc_1_oxNs4Z1OoqJYhonmClsrtoCW1oQmZA,739
5
+ podflow/main_podcast.py,sha256=z8aIxbZo0Z3BNjdYgO5EFVpogsS1oVOt-T7bg_uQww4,8874
6
+ podflow/main_upload.py,sha256=H_T5KQMYzToqzQbjGQ6DWDGziy8iMnpmf7A1qOStJuo,2296
7
+ podflow/parse_arguments.py,sha256=h3a7EaRZS04kNMFYbxTW9Ch29KgZ7dyS-yqEEt_etQI,2592
8
+ podflow/basic/__init__.py,sha256=CAfI6mVQtz7KKbAiTIZ9_IbvaTXeAqxR1U7ov9GDoDo,44
9
+ podflow/basic/file_save.py,sha256=dbEgtA1JwFgadzhFBMsuBr422FzOAtpYH9mq5XrfeP0,841
10
+ podflow/basic/folder_build.py,sha256=5oHyfiDcSp2YITXQWIPwriBF9XuU3qs7wZQOWJHYJ1s,546
11
+ podflow/basic/get_duration.py,sha256=eqdE85b7sgLyp6brhnGcOIQEWX6JqtNCGAsGyJOuXFI,532
12
+ podflow/basic/get_file_list.py,sha256=XmnC4faObislyTsL9WUeyztyTQrvdi76lMzPudKEfXw,2389
13
+ podflow/basic/get_html_dict.py,sha256=V-PgDtD6pm5mZC1LUPttUbZzxhjkS3WDYHxWR3yzIEY,869
14
+ podflow/basic/http_client.py,sha256=tGXn7Jq3l1WO2dTLh_l_vJt1x59Z2e1yUZ3jqfp0gJY,3003
15
+ podflow/basic/list_merge_tidy.py,sha256=7hWfSnsPh23edHNU92vxtI0nfpfN8m54GTEt2rGm2HQ,368
16
+ podflow/basic/qr_code.py,sha256=PvtCIq1THH72-xfxmhlI4Lz3ncE04po4XfH2XSjbhm0,1520
17
+ podflow/basic/split_dict.py,sha256=Ir6GTortcWMUeFITFgY1v-INMla5y0IN3RN3nTgzWqM,401
18
+ podflow/basic/time_format.py,sha256=T3tw2vbOwxMYYXDaV4Sj76WOZtsspj2lWA_DzWqUEJA,487
19
+ podflow/basic/time_print.py,sha256=CMaOC1jVNKTZwJGulVExjVpvQDWFEnZVGEfQeIjGlIg,323
20
+ podflow/basic/time_stamp.py,sha256=Kbz9PzgPtss1fRqPXdfz1q6MTGVMRi3LPClN7wrXSIk,1888
21
+ podflow/basic/vary_replace.py,sha256=-TyvZxfak6U7Ak8F87ctYUBpHB2Il6iYZof37lwKjto,211
22
+ podflow/basic/write_log.py,sha256=TYmkkjclJQ-foJcveaEZj43zozSeqcIRTbsS2pIaMvg,1169
23
+ podflow/bilibili/__init__.py,sha256=6ZTpvhZTyn4f0LryXzH8lzyK1_rRHBeM-hkBoklKHRA,47
24
+ podflow/bilibili/build.py,sha256=PKxkjUa8EedpoQTFZIgdcsVbiAWRISA-qKCpCaSTLTU,7957
25
+ podflow/bilibili/get.py,sha256=Ld8lhb_3eiSagVXWyj1KIrRLjfH6p0sUolEG5VtN8mk,20337
26
+ podflow/bilibili/login.py,sha256=XqUL-ZFtBSNmyPf-CqCvbyxtXYx7v3EnIDU0zaqSMDM,11090
27
+ podflow/config/__init__.py,sha256=MzgAlkSdV-5MFC11r0QSf-GPxmsLbrMc5ROIrJafjag,45
28
+ podflow/config/build_original.py,sha256=pG9gCkBBIWwU8QxZA06Br6JRfI4XUSIEiN8eqo1-v7k,1809
29
+ podflow/config/channge_icon.py,sha256=W-EU_5_wg94_yioNofk8OTyRD2X7SY8HEjvjFmSEyh0,5653
30
+ podflow/config/correct_channelid.py,sha256=4Z6B3cR5wQq5Vce4LPGVDqqUGc-fW54B46w7f_XEKYc,9252
31
+ podflow/config/correct_config.py,sha256=UgfDyZP4v0lTLtUdUMV0AEZwAaJ30QOhjqzeDRFsu0k,3958
32
+ podflow/config/get_channelid.py,sha256=dtWmAu75yBWQbkWUmuxUX5zKWV7IgW-ggwnZgbxyuH4,641
33
+ podflow/config/get_channelid_id.py,sha256=mYllWaMunrDi495gvTb-HTunoYm-hhaev731lWPsAOw,586
34
+ podflow/config/get_config.py,sha256=aI0K86B0VWKd1kPnzQTomEZ1LIaRUwG6uQRqMWe_nck,1295
35
+ podflow/download/__init__.py,sha256=1lATXiOAEx5oDUDR99mQRiTrQlQ9CQkJNAKpsLrnPCo,47
36
+ podflow/download/convert_bytes.py,sha256=6Q3TcPGzCO2FlhOKWbp9RB_GPmfuyKY5suIyE9EJf6k,543
37
+ podflow/download/delete_part.py,sha256=wjY6WulpUMjLx38on0kTLXj0gA04rIuKAdwFidZtWGU,679
38
+ podflow/download/dl_aideo_video.py,sha256=KKs8EpS3NI_sBMHr-QCAtoq6aGnoRXrqVU07KyLEHlg,10057
39
+ podflow/download/show_progress.py,sha256=cWlyIh6WqoH3s4WpFSyL6xtiXhQFbrVJVcckxO-1NLg,1595
40
+ podflow/download/wait_animation.py,sha256=RnByMq0Ql_yr9OqQ3dl3W-41GgP0T8PvlbwwVeMb7_k,1056
41
+ podflow/download/youtube_and_bilibili_download.py,sha256=dlUh9cPHrYgZAhtXlBUOdFIpZOhv9xOtgdcTaqUvLuY,1294
42
+ podflow/httpfs/__init__.py,sha256=BxEXkufjcx-a0F7sDVXo65hmyANqCCbZUd6EH9i8T2c,45
43
+ podflow/httpfs/app_bottle.py,sha256=kXeBMlsXxijwa4Fwg5F42-nZlPtiseNsRkJ3JpipHHA,16407
44
+ podflow/httpfs/browser.py,sha256=BJ4Xkfiki_tDr0Sc9RqAcEfIVpkAZ3RFOwo0aMHlY3U,197
45
+ podflow/httpfs/get_channelid.py,sha256=gcwy4IVHBWNQz7qPCpjwiAklGFLRGzvM33-UZz7oFvo,2296
46
+ podflow/httpfs/port_judge.py,sha256=l_nLpsSiIhAzfJGCOWyYC-KkCCWPUW2ybe_5hdMOEzE,764
47
+ podflow/makeup/__init__.py,sha256=ligUtfj0stTcOHFXDF6eAN7Up2PxlB0GnGbLq7iDY3c,45
48
+ podflow/makeup/del_makeup_format_fail.py,sha256=XizQh74QYXxRg0e1uerXjd4Tiq5qChks0fTAY7n3Z1I,642
49
+ podflow/makeup/make_up_file.py,sha256=WJnKtdr6-CMEpxJAADCEhcyIwdUdisxbqXGmzo3R5KQ,2222
50
+ podflow/makeup/make_up_file_format_mod.py,sha256=QLdGG2Mx8tJjy_ji6IUdga9ckAOEt9uumIbaOewvZGo,3613
51
+ podflow/makeup/make_up_file_mod.py,sha256=padTanSPw5Dysf_CcUUVy65nCC6zbz1gPJRX98tmUdY,1075
52
+ podflow/message/__init__.py,sha256=pZkcrrtkdtxgMriEHBZ0_rptKaQrQeMPJvPSaoI1Awo,46
53
+ podflow/message/backup_zip_save.py,sha256=0SIxVvAtgSWAr_TvdXLVDIpxvXOHeFUN8n8QzfnIB84,1740
54
+ podflow/message/create_main_rss.py,sha256=g2DZGLf81yUsLCpiB8QVaxSxqhJ5lVeC43ndRiCbodg,2999
55
+ podflow/message/display_qrcode_and_url.py,sha256=-oGZF5sxjl3CI-mOayFbsm0znWHL0T4XivuRgor4n9w,1016
56
+ podflow/message/fail_message_initialize.py,sha256=jIGzL0hXg3JRq7leB7nFeRFOkjnkDn-Kyco7r-w-bTY,6299
57
+ podflow/message/format_time.py,sha256=gveNh4FGeS3ytwDyYB-h12d1_Km6XoX7WSPcFmDfCBk,909
58
+ podflow/message/get_media_name.py,sha256=5ULPQOQCZ2-lxdkILwlBP-ItzdFEgvEAKxeLtplACbQ,861
59
+ podflow/message/get_original_rss.py,sha256=PYA7UGhHXbUN66vWmxWOp5Ns423CopHxw4vR19zXaPs,2383
60
+ podflow/message/get_video_format.py,sha256=-LsgmawTKcDvR1wMgr3ue09fCHnmDvJNJxh7ztk-SZA,4770
61
+ podflow/message/get_video_format_multithread.py,sha256=2t2UlBWG1RF0IRBBbGzeeWshWXfMgyny6keaWbmgTaI,1406
62
+ podflow/message/get_youtube_and_bilibili_video_format.py,sha256=zX5fOFPET5_GWbHYGdd9RAj1-7AC_fKFu8eJcmuR4Fo,4439
63
+ podflow/message/media_format.py,sha256=Q4WoML4UqL0Ry-QN8DHFJqOQ2tXcFN6u5hmhdSLdP1g,7346
64
+ podflow/message/original_rss_fail_print.py,sha256=7HM5Gwi3GqBIg2dtTTDlN_FRgZZjYv6ejizS3tDiePE,502
65
+ podflow/message/rss_create_hash.py,sha256=M5OS9KcQ4mIxLes9ij4oNji-4VKgi56bg0Shv5nCIQ4,638
66
+ podflow/message/save_rss.py,sha256=r56xMQ-1L3CbS9cJg42Ifjk9oKuH7Xc-PJpOsex9glM,3201
67
+ podflow/message/title_correction.py,sha256=Zieulj2wQY_o4r3u5ZRsDQP5y8KuZHrL_l8tnM96k6g,915
68
+ podflow/message/update_information_display.py,sha256=Zn-Xhps4PKf7NbgQrT-qTwhP096RV-48OEncK_vuUe0,3061
69
+ podflow/message/update_youtube_bilibili_rss.py,sha256=9hHym9e2DbSTZ1tSfBfErLJWmi9I71edNORdAaZCPTw,5238
70
+ podflow/message/want_retry.py,sha256=3MtlAG4BZ2oznn0X5zYzAl2S0XzZkXhnN_LHVPcWZjA,699
71
+ podflow/message/xml_item.py,sha256=jCB93aOoIDK6EaAFrZg5gd6mBMv7fP9uX-Z5eiTSyxg,3127
72
+ podflow/message/xml_original_item.py,sha256=mlORI0p6aSLP6PWIAuvI4uVN0JbxUDZX5-U52ltn9E4,4048
73
+ podflow/message/xml_rss.py,sha256=ogCteSUXyJJXLhOE7-ZBcRdWYzrRr2Qykjt3oppRpC4,1679
74
+ podflow/netscape/__init__.py,sha256=SUw_BtbV3moA324UdxRECkPLv1xHkjio8r_5JTkVfxI,47
75
+ podflow/netscape/bulid_netscape.py,sha256=wmUPlDGF8G456GGyajU_6Ak5WJzsqsq4bZgPjCSTGhI,2279
76
+ podflow/netscape/get_cookie_dict.py,sha256=k-n0UIIXjLPdzJJlyZptyq6MbVBS5-RMur2amfYUo9w,691
77
+ podflow/remove/__init__.py,sha256=x1pMfpIyE6xUrmIOkdl43mbvKLwndGo5pIoOBXhJsP4,45
78
+ podflow/remove/remove_dir.py,sha256=xQIhrnqnYjMzXjoSWaTvm7JwPYOFTN1muuTPdaLDXpQ,1099
79
+ podflow/remove/remove_file.py,sha256=8wAJQehs-XBqvu0vPlEme2_tt0FZxc5ELwGMxXA_558,982
80
+ podflow/repair/__init__.py,sha256=Gpc1i6xiSLodKjjmzH66c_Y1z0HQ9E9CS3p95FRnVFM,45
81
+ podflow/repair/reverse_log.py,sha256=Wc_vAH0WB-z1fNdWx7FYaVH4caRPtot7tDwDwFhmpz4,1106
82
+ podflow/templates/index.html,sha256=sRo0P3agJ5T0dFbmcuI_h6cseLtoXVhTTBrDYmTpWTA,4755
83
+ podflow/upload/__init__.py,sha256=AtOSXDrE5EjUe3z-iBd1NTDaH8n_X9qA5WXdBLkONjA,45
84
+ podflow/upload/add_upload.py,sha256=_2-V0z75Lwu-PUCfMD9HOSxZTB102yZlZW5hSdlHcsc,1432
85
+ podflow/upload/build_hash.py,sha256=9opa3xLd7nJbGGX5xa3uuKPS6dxlbkAb87ZdEiUxmxI,473
86
+ podflow/upload/get_upload_original.py,sha256=fG3tmAqznSSazpUVAeELls-Pl0liCoOniMyNeX8_lLI,4358
87
+ podflow/upload/linked_client.py,sha256=tU8tkwn8qLIKX5GklHdd9oIQ4abvbcKg66Ujh0osxQY,3193
88
+ podflow/upload/linked_server.py,sha256=h-qSx13fP8_Ny2IKW3wCNPwqRqW6-Iz1pqxD9ga9-dM,2308
89
+ podflow/upload/login.py,sha256=85sqr12T-3NH-TD3kAMzy4yb1KOheV3Tr0eGee7NCJo,4007
90
+ podflow/upload/time_key.py,sha256=6jZ3cxUjzj_umYDwH27R0YNZlLXxfhNp-CqV_K22wlo,967
91
+ podflow/upload/update_upload.py,sha256=_5tp1zPNsC9DdDnLzm-P8bLcOBuDov4eMRHp_861j80,3183
92
+ podflow/upload/upload_server.py,sha256=BFq3QrWE7U97LbC4EQiDhQXbLapEc4R00eRDBH12E6A,565
93
+ podflow/youtube/__init__.py,sha256=pgXod8gq0IijZxIkPSwgAOcb9JI5rd1mqMomoR7bcJ4,46
94
+ podflow/youtube/build.py,sha256=3LYk_ICVXj9XkE9jZ8jEVI8596xxS_QZkcoIwcBE3Ys,12006
95
+ podflow/youtube/get.py,sha256=Of7PRgUknhpyW70nvyVAUYVb5KyFViKiBTfH3Y6Mke8,16970
96
+ podflow/youtube/login.py,sha256=3nLj0KLdsc-kQmXxG5FyZfR-kiDzbQy2J0KhPXMxJGc,1380
97
+ podflow-20250327.dist-info/METADATA,sha256=zNgZvmWEa8Q8Jnt_HW2wz836-PbqMUxwFP4y1T2W0HM,14163
98
+ podflow-20250327.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
99
+ podflow-20250327.dist-info/entry_points.txt,sha256=mn7hD_c_dmpKe3XU0KNekheBvD01LhlJ9htY-Df0j2A,131
100
+ podflow-20250327.dist-info/top_level.txt,sha256=fUujhhz-RrMI8aGvi-3Ey5y7FQnpOOgoFw9OWM3yLCU,8
101
+ podflow-20250327.dist-info/RECORD,,
@@ -0,0 +1 @@
1
+ podflow
Podflow/httpfs/html.py DELETED
@@ -1,145 +0,0 @@
1
- # podflow/httpfs/html.py
2
- # coding: utf-8
3
-
4
-
5
- html_index = '''<!DOCTYPE html>
6
- <html lang="zh">
7
- <head>
8
- <meta charset="UTF-8">
9
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
10
- <title>输入输出示例</title>
11
- <style>
12
- /* 基本样式 */
13
- body {
14
- font-family: Arial, sans-serif;
15
- text-align: center;
16
- padding: 20px;
17
- background-color: #f8f9fa;
18
- }
19
-
20
- h2 {
21
- color: #333;
22
- }
23
-
24
- /* 响应式输入框 */
25
- textarea {
26
- width: 90%;
27
- max-width: 600px;
28
- height: 250px; /* 增加默认高度 */
29
- font-size: 16px;
30
- padding: 10px;
31
- border: 1px solid #ccc;
32
- border-radius: 8px;
33
- resize: vertical; /* 允许手动调整高度 */
34
- overflow-y: auto; /* 始终显示垂直滚动条(如需自动出现滚动条,可用 `overflow-y: auto;`) */
35
- }
36
-
37
- /* 按钮样式 */
38
- .button-container {
39
- margin-top: 10px;
40
- }
41
-
42
- button {
43
- background-color: #007bff;
44
- color: white;
45
- border: none;
46
- padding: 12px 18px;
47
- font-size: 16px;
48
- border-radius: 6px;
49
- cursor: pointer;
50
- transition: 0.3s;
51
- box-shadow: 2px 2px 8px rgba(0, 0, 0, 0.2);
52
- margin: 5px;
53
- }
54
-
55
- button:hover {
56
- background-color: #0056b3;
57
- }
58
-
59
- /* 手机端优化 */
60
- @media (max-width: 600px) {
61
- textarea {
62
- font-size: 18px;
63
- height: 180px;
64
- }
65
-
66
- button {
67
- width: 90%;
68
- font-size: 18px;
69
- padding: 14px;
70
- }
71
- }
72
-
73
- /* 提示信息 */
74
- .hint {
75
- font-size: 14px;
76
- color: #666;
77
- margin-top: 10px;
78
- }
79
- </style>
80
- </head>
81
- <body>
82
- <h2>获取Channel-ID</h2>
83
- <form id="inputForm" method="post">
84
- <label for="inputOutput">请输入:</label><br>
85
- <textarea name="inputOutput" id="inputOutput">{{ processed_input }}</textarea><br>
86
- <div class="button-container">
87
- <button type="button" onclick="pasteFromClipboard()">📋 粘贴</button>
88
- <button type="submit">✅ 提交</button>
89
- <button type="button" onclick="copyText()">📄 拷贝</button>
90
- <button type="button" onclick="clearInput()">🗑️ 清空</button>
91
- </div>
92
- <p class="hint">📌 如果粘贴按钮无效,请长按输入框手动粘贴。</p>
93
- </form>
94
- <script>
95
- function pasteFromClipboard() {
96
- let inputOutput = document.getElementById('inputOutput');
97
-
98
- if (navigator.clipboard && navigator.clipboard.readText) {
99
- navigator.clipboard.readText().then(text => {
100
- inputOutput.value = text;
101
- inputOutput.focus(); // 聚焦输入框
102
- //alert("✅ 已成功粘贴!");
103
- }).catch(err => {
104
- console.warn("❌ 剪贴板读取失败:", err);
105
- alert("❌ 无法读取剪贴板,请手动粘贴!");
106
- });
107
- } else {
108
- // 兼容旧版浏览器
109
- try {
110
- inputOutput.focus();
111
- document.execCommand('paste'); // 仅部分浏览器支持
112
- //alert("✅ 尝试使用旧版粘贴方法!");
113
- } catch (err) {
114
- console.warn("❌ execCommand 粘贴失败:", err);
115
- alert("❌ 您的浏览器不支持自动粘贴,请手动操作!");
116
- }
117
- }
118
- }
119
- function copyText() {
120
- let inputOutput = document.getElementById('inputOutput');
121
- if (navigator.clipboard && navigator.clipboard.writeText) {
122
- navigator.clipboard.writeText(inputOutput.value).then(() => {
123
- //alert("✅ 已拷贝到剪贴板!");
124
- }).catch(err => {
125
- console.warn("拷贝失败:", err);
126
- alert("❌ 无法拷贝,请手动选择文本后按 Ctrl+C 复制!");
127
- });
128
- } else {
129
- // 兼容旧版浏览器
130
- try {
131
- inputOutput.select();
132
- document.execCommand('copy');
133
- //alert("✅ 已拷贝到剪贴板!");
134
- } catch (err) {
135
- console.warn("execCommand 复制失败:", err);
136
- alert("❌ 您的浏览器不支持拷贝,请手动操作!");
137
- }
138
- }
139
- }
140
- function clearInput() {
141
- document.getElementById('inputOutput').value = '';
142
- }
143
- </script>
144
- </body>
145
- </html>'''
@@ -1,101 +0,0 @@
1
- Podflow/__init__.py,sha256=TlmiRQFXGXAP5WK6i_xjDCWtzj__MfkzK7S8ofjbEW4,6991
2
- Podflow/download_and_build.py,sha256=GKQ1uX8Nuwdhr4wgnGr3jP1Mu0llRUPFcboQ3S05WkU,671
3
- Podflow/ffmpeg_judge.py,sha256=3EtNlHhinsFPtRp74JwCK2TFM6VOjsvpn7rW0OhEMi8,1275
4
- Podflow/main.py,sha256=Cz2E33-Kcc_1_oxNs4Z1OoqJYhonmClsrtoCW1oQmZA,739
5
- Podflow/main_podcast.py,sha256=z8aIxbZo0Z3BNjdYgO5EFVpogsS1oVOt-T7bg_uQww4,8874
6
- Podflow/main_upload.py,sha256=H_T5KQMYzToqzQbjGQ6DWDGziy8iMnpmf7A1qOStJuo,2296
7
- Podflow/parse_arguments.py,sha256=h3a7EaRZS04kNMFYbxTW9Ch29KgZ7dyS-yqEEt_etQI,2592
8
- Podflow/basic/__init__.py,sha256=CAfI6mVQtz7KKbAiTIZ9_IbvaTXeAqxR1U7ov9GDoDo,44
9
- Podflow/basic/file_save.py,sha256=dbEgtA1JwFgadzhFBMsuBr422FzOAtpYH9mq5XrfeP0,841
10
- Podflow/basic/folder_build.py,sha256=5oHyfiDcSp2YITXQWIPwriBF9XuU3qs7wZQOWJHYJ1s,546
11
- Podflow/basic/get_duration.py,sha256=eqdE85b7sgLyp6brhnGcOIQEWX6JqtNCGAsGyJOuXFI,532
12
- Podflow/basic/get_file_list.py,sha256=XmnC4faObislyTsL9WUeyztyTQrvdi76lMzPudKEfXw,2389
13
- Podflow/basic/get_html_dict.py,sha256=V-PgDtD6pm5mZC1LUPttUbZzxhjkS3WDYHxWR3yzIEY,869
14
- Podflow/basic/http_client.py,sha256=tGXn7Jq3l1WO2dTLh_l_vJt1x59Z2e1yUZ3jqfp0gJY,3003
15
- Podflow/basic/list_merge_tidy.py,sha256=7hWfSnsPh23edHNU92vxtI0nfpfN8m54GTEt2rGm2HQ,368
16
- Podflow/basic/qr_code.py,sha256=PvtCIq1THH72-xfxmhlI4Lz3ncE04po4XfH2XSjbhm0,1520
17
- Podflow/basic/split_dict.py,sha256=Ir6GTortcWMUeFITFgY1v-INMla5y0IN3RN3nTgzWqM,401
18
- Podflow/basic/time_format.py,sha256=T3tw2vbOwxMYYXDaV4Sj76WOZtsspj2lWA_DzWqUEJA,487
19
- Podflow/basic/time_print.py,sha256=CMaOC1jVNKTZwJGulVExjVpvQDWFEnZVGEfQeIjGlIg,323
20
- Podflow/basic/time_stamp.py,sha256=Kbz9PzgPtss1fRqPXdfz1q6MTGVMRi3LPClN7wrXSIk,1888
21
- Podflow/basic/vary_replace.py,sha256=-TyvZxfak6U7Ak8F87ctYUBpHB2Il6iYZof37lwKjto,211
22
- Podflow/basic/write_log.py,sha256=TYmkkjclJQ-foJcveaEZj43zozSeqcIRTbsS2pIaMvg,1169
23
- Podflow/bilibili/__init__.py,sha256=6ZTpvhZTyn4f0LryXzH8lzyK1_rRHBeM-hkBoklKHRA,47
24
- Podflow/bilibili/build.py,sha256=PKxkjUa8EedpoQTFZIgdcsVbiAWRISA-qKCpCaSTLTU,7957
25
- Podflow/bilibili/get.py,sha256=Ld8lhb_3eiSagVXWyj1KIrRLjfH6p0sUolEG5VtN8mk,20337
26
- Podflow/bilibili/login.py,sha256=XqUL-ZFtBSNmyPf-CqCvbyxtXYx7v3EnIDU0zaqSMDM,11090
27
- Podflow/config/__init__.py,sha256=MzgAlkSdV-5MFC11r0QSf-GPxmsLbrMc5ROIrJafjag,45
28
- Podflow/config/build_original.py,sha256=pG9gCkBBIWwU8QxZA06Br6JRfI4XUSIEiN8eqo1-v7k,1809
29
- Podflow/config/channge_icon.py,sha256=W-EU_5_wg94_yioNofk8OTyRD2X7SY8HEjvjFmSEyh0,5653
30
- Podflow/config/correct_channelid.py,sha256=4Z6B3cR5wQq5Vce4LPGVDqqUGc-fW54B46w7f_XEKYc,9252
31
- Podflow/config/correct_config.py,sha256=UgfDyZP4v0lTLtUdUMV0AEZwAaJ30QOhjqzeDRFsu0k,3958
32
- Podflow/config/get_channelid.py,sha256=dtWmAu75yBWQbkWUmuxUX5zKWV7IgW-ggwnZgbxyuH4,641
33
- Podflow/config/get_channelid_id.py,sha256=mYllWaMunrDi495gvTb-HTunoYm-hhaev731lWPsAOw,586
34
- Podflow/config/get_config.py,sha256=aI0K86B0VWKd1kPnzQTomEZ1LIaRUwG6uQRqMWe_nck,1295
35
- Podflow/download/__init__.py,sha256=1lATXiOAEx5oDUDR99mQRiTrQlQ9CQkJNAKpsLrnPCo,47
36
- Podflow/download/convert_bytes.py,sha256=6Q3TcPGzCO2FlhOKWbp9RB_GPmfuyKY5suIyE9EJf6k,543
37
- Podflow/download/delete_part.py,sha256=wjY6WulpUMjLx38on0kTLXj0gA04rIuKAdwFidZtWGU,679
38
- Podflow/download/dl_aideo_video.py,sha256=KKs8EpS3NI_sBMHr-QCAtoq6aGnoRXrqVU07KyLEHlg,10057
39
- Podflow/download/show_progress.py,sha256=cWlyIh6WqoH3s4WpFSyL6xtiXhQFbrVJVcckxO-1NLg,1595
40
- Podflow/download/wait_animation.py,sha256=RnByMq0Ql_yr9OqQ3dl3W-41GgP0T8PvlbwwVeMb7_k,1056
41
- Podflow/download/youtube_and_bilibili_download.py,sha256=dlUh9cPHrYgZAhtXlBUOdFIpZOhv9xOtgdcTaqUvLuY,1294
42
- Podflow/httpfs/__init__.py,sha256=BxEXkufjcx-a0F7sDVXo65hmyANqCCbZUd6EH9i8T2c,45
43
- Podflow/httpfs/app_bottle.py,sha256=iO06PDAVTNtOfqQ5QudY_mz1qB48bE4atC_YdZ87Odo,16562
44
- Podflow/httpfs/browser.py,sha256=BJ4Xkfiki_tDr0Sc9RqAcEfIVpkAZ3RFOwo0aMHlY3U,197
45
- Podflow/httpfs/get_channelid.py,sha256=gcwy4IVHBWNQz7qPCpjwiAklGFLRGzvM33-UZz7oFvo,2296
46
- Podflow/httpfs/html.py,sha256=bEOunhd-6Zwoidl3gHSVF5NVR5jao69JjI2ZwlrTyxU,4897
47
- Podflow/httpfs/port_judge.py,sha256=l_nLpsSiIhAzfJGCOWyYC-KkCCWPUW2ybe_5hdMOEzE,764
48
- Podflow/makeup/__init__.py,sha256=ligUtfj0stTcOHFXDF6eAN7Up2PxlB0GnGbLq7iDY3c,45
49
- Podflow/makeup/del_makeup_format_fail.py,sha256=XizQh74QYXxRg0e1uerXjd4Tiq5qChks0fTAY7n3Z1I,642
50
- Podflow/makeup/make_up_file.py,sha256=WJnKtdr6-CMEpxJAADCEhcyIwdUdisxbqXGmzo3R5KQ,2222
51
- Podflow/makeup/make_up_file_format_mod.py,sha256=QLdGG2Mx8tJjy_ji6IUdga9ckAOEt9uumIbaOewvZGo,3613
52
- Podflow/makeup/make_up_file_mod.py,sha256=padTanSPw5Dysf_CcUUVy65nCC6zbz1gPJRX98tmUdY,1075
53
- Podflow/message/__init__.py,sha256=pZkcrrtkdtxgMriEHBZ0_rptKaQrQeMPJvPSaoI1Awo,46
54
- Podflow/message/backup_zip_save.py,sha256=0SIxVvAtgSWAr_TvdXLVDIpxvXOHeFUN8n8QzfnIB84,1740
55
- Podflow/message/create_main_rss.py,sha256=g2DZGLf81yUsLCpiB8QVaxSxqhJ5lVeC43ndRiCbodg,2999
56
- Podflow/message/display_qrcode_and_url.py,sha256=-oGZF5sxjl3CI-mOayFbsm0znWHL0T4XivuRgor4n9w,1016
57
- Podflow/message/fail_message_initialize.py,sha256=jIGzL0hXg3JRq7leB7nFeRFOkjnkDn-Kyco7r-w-bTY,6299
58
- Podflow/message/format_time.py,sha256=gveNh4FGeS3ytwDyYB-h12d1_Km6XoX7WSPcFmDfCBk,909
59
- Podflow/message/get_media_name.py,sha256=5ULPQOQCZ2-lxdkILwlBP-ItzdFEgvEAKxeLtplACbQ,861
60
- Podflow/message/get_original_rss.py,sha256=PYA7UGhHXbUN66vWmxWOp5Ns423CopHxw4vR19zXaPs,2383
61
- Podflow/message/get_video_format.py,sha256=-LsgmawTKcDvR1wMgr3ue09fCHnmDvJNJxh7ztk-SZA,4770
62
- Podflow/message/get_video_format_multithread.py,sha256=2t2UlBWG1RF0IRBBbGzeeWshWXfMgyny6keaWbmgTaI,1406
63
- Podflow/message/get_youtube_and_bilibili_video_format.py,sha256=zX5fOFPET5_GWbHYGdd9RAj1-7AC_fKFu8eJcmuR4Fo,4439
64
- Podflow/message/media_format.py,sha256=Q4WoML4UqL0Ry-QN8DHFJqOQ2tXcFN6u5hmhdSLdP1g,7346
65
- Podflow/message/original_rss_fail_print.py,sha256=7HM5Gwi3GqBIg2dtTTDlN_FRgZZjYv6ejizS3tDiePE,502
66
- Podflow/message/rss_create_hash.py,sha256=M5OS9KcQ4mIxLes9ij4oNji-4VKgi56bg0Shv5nCIQ4,638
67
- Podflow/message/save_rss.py,sha256=r56xMQ-1L3CbS9cJg42Ifjk9oKuH7Xc-PJpOsex9glM,3201
68
- Podflow/message/title_correction.py,sha256=Zieulj2wQY_o4r3u5ZRsDQP5y8KuZHrL_l8tnM96k6g,915
69
- Podflow/message/update_information_display.py,sha256=Zn-Xhps4PKf7NbgQrT-qTwhP096RV-48OEncK_vuUe0,3061
70
- Podflow/message/update_youtube_bilibili_rss.py,sha256=9hHym9e2DbSTZ1tSfBfErLJWmi9I71edNORdAaZCPTw,5238
71
- Podflow/message/want_retry.py,sha256=3MtlAG4BZ2oznn0X5zYzAl2S0XzZkXhnN_LHVPcWZjA,699
72
- Podflow/message/xml_item.py,sha256=jCB93aOoIDK6EaAFrZg5gd6mBMv7fP9uX-Z5eiTSyxg,3127
73
- Podflow/message/xml_original_item.py,sha256=mlORI0p6aSLP6PWIAuvI4uVN0JbxUDZX5-U52ltn9E4,4048
74
- Podflow/message/xml_rss.py,sha256=ogCteSUXyJJXLhOE7-ZBcRdWYzrRr2Qykjt3oppRpC4,1679
75
- Podflow/netscape/__init__.py,sha256=SUw_BtbV3moA324UdxRECkPLv1xHkjio8r_5JTkVfxI,47
76
- Podflow/netscape/bulid_netscape.py,sha256=wmUPlDGF8G456GGyajU_6Ak5WJzsqsq4bZgPjCSTGhI,2279
77
- Podflow/netscape/get_cookie_dict.py,sha256=k-n0UIIXjLPdzJJlyZptyq6MbVBS5-RMur2amfYUo9w,691
78
- Podflow/remove/__init__.py,sha256=x1pMfpIyE6xUrmIOkdl43mbvKLwndGo5pIoOBXhJsP4,45
79
- Podflow/remove/remove_dir.py,sha256=xQIhrnqnYjMzXjoSWaTvm7JwPYOFTN1muuTPdaLDXpQ,1099
80
- Podflow/remove/remove_file.py,sha256=8wAJQehs-XBqvu0vPlEme2_tt0FZxc5ELwGMxXA_558,982
81
- Podflow/repair/__init__.py,sha256=Gpc1i6xiSLodKjjmzH66c_Y1z0HQ9E9CS3p95FRnVFM,45
82
- Podflow/repair/reverse_log.py,sha256=Wc_vAH0WB-z1fNdWx7FYaVH4caRPtot7tDwDwFhmpz4,1106
83
- Podflow/upload/__init__.py,sha256=AtOSXDrE5EjUe3z-iBd1NTDaH8n_X9qA5WXdBLkONjA,45
84
- Podflow/upload/add_upload.py,sha256=_2-V0z75Lwu-PUCfMD9HOSxZTB102yZlZW5hSdlHcsc,1432
85
- Podflow/upload/build_hash.py,sha256=9opa3xLd7nJbGGX5xa3uuKPS6dxlbkAb87ZdEiUxmxI,473
86
- Podflow/upload/get_upload_original.py,sha256=fG3tmAqznSSazpUVAeELls-Pl0liCoOniMyNeX8_lLI,4358
87
- Podflow/upload/linked_client.py,sha256=tU8tkwn8qLIKX5GklHdd9oIQ4abvbcKg66Ujh0osxQY,3193
88
- Podflow/upload/linked_server.py,sha256=h-qSx13fP8_Ny2IKW3wCNPwqRqW6-Iz1pqxD9ga9-dM,2308
89
- Podflow/upload/login.py,sha256=85sqr12T-3NH-TD3kAMzy4yb1KOheV3Tr0eGee7NCJo,4007
90
- Podflow/upload/time_key.py,sha256=6jZ3cxUjzj_umYDwH27R0YNZlLXxfhNp-CqV_K22wlo,967
91
- Podflow/upload/update_upload.py,sha256=_5tp1zPNsC9DdDnLzm-P8bLcOBuDov4eMRHp_861j80,3183
92
- Podflow/upload/upload_server.py,sha256=BFq3QrWE7U97LbC4EQiDhQXbLapEc4R00eRDBH12E6A,565
93
- Podflow/youtube/__init__.py,sha256=pgXod8gq0IijZxIkPSwgAOcb9JI5rd1mqMomoR7bcJ4,46
94
- Podflow/youtube/build.py,sha256=3LYk_ICVXj9XkE9jZ8jEVI8596xxS_QZkcoIwcBE3Ys,12006
95
- Podflow/youtube/get.py,sha256=Of7PRgUknhpyW70nvyVAUYVb5KyFViKiBTfH3Y6Mke8,16970
96
- Podflow/youtube/login.py,sha256=3nLj0KLdsc-kQmXxG5FyZfR-kiDzbQy2J0KhPXMxJGc,1380
97
- podflow-20250326.1.dist-info/METADATA,sha256=4gijdpmXrrNU46FCaAciTjpHkhk8asddDxN0qViqwq8,14165
98
- podflow-20250326.1.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
99
- podflow-20250326.1.dist-info/entry_points.txt,sha256=mn7hD_c_dmpKe3XU0KNekheBvD01LhlJ9htY-Df0j2A,131
100
- podflow-20250326.1.dist-info/top_level.txt,sha256=KcvRCiz_DRWWc9i-PgpARvFB0J4CKmpZOZgPqOdG-Lk,8
101
- podflow-20250326.1.dist-info/RECORD,,
@@ -1 +0,0 @@
1
- Podflow
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes