podflow 20250327__py3-none-any.whl → 20250328__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.
- podflow/httpfs/app_bottle.py +5 -3
- podflow/templates/index.html +42 -19
- {podflow-20250327.dist-info → podflow-20250328.dist-info}/METADATA +2 -2
- {podflow-20250327.dist-info → podflow-20250328.dist-info}/RECORD +7 -7
- {podflow-20250327.dist-info → podflow-20250328.dist-info}/WHEEL +0 -0
- {podflow-20250327.dist-info → podflow-20250328.dist-info}/entry_points.txt +0 -0
- {podflow-20250327.dist-info → podflow-20250328.dist-info}/top_level.txt +0 -0
podflow/httpfs/app_bottle.py
CHANGED
@@ -381,13 +381,15 @@ class bottle_app:
|
|
381
381
|
template_path = pkg_resources.resource_filename('podflow', 'templates/index.html')
|
382
382
|
with open(template_path, 'r', encoding="UTF-8") as f:
|
383
383
|
html_content = f.read()
|
384
|
+
self.print_out("index", 200)
|
384
385
|
return html_content
|
385
386
|
|
386
387
|
def getid(self):
|
387
388
|
# 获取 JSON 数据,Bottle 会自动解析请求体中的 JSON 数据
|
388
|
-
getid_data
|
389
|
-
|
390
|
-
|
389
|
+
if getid_data := request.json:
|
390
|
+
content = getid_data.get("content", "")
|
391
|
+
else:
|
392
|
+
content = ""
|
391
393
|
response_message = get_channelid(content)
|
392
394
|
self.print_out("channelid", 200)
|
393
395
|
# 设置响应头为 application/json
|
podflow/templates/index.html
CHANGED
@@ -5,71 +5,94 @@
|
|
5
5
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
6
6
|
<title>输入输出示例</title>
|
7
7
|
<style>
|
8
|
+
/* 定义颜色变量 - 浅色模式 */
|
9
|
+
:root {
|
10
|
+
--bg-color: #f8f9fa;
|
11
|
+
--text-color: #333;
|
12
|
+
--secondary-text: #666;
|
13
|
+
--input-bg: #ffffff;
|
14
|
+
--input-border: #ccc;
|
15
|
+
--button-bg: #007bff;
|
16
|
+
--button-hover: #0056b3;
|
17
|
+
--button-text: white;
|
18
|
+
--button-shadow: rgba(0, 0, 0, 0.2);
|
19
|
+
}
|
20
|
+
/* 深色模式变量 */
|
21
|
+
@media (prefers-color-scheme: dark) {
|
22
|
+
:root {
|
23
|
+
--bg-color: #222;
|
24
|
+
--text-color: #e0e0e0;
|
25
|
+
--secondary-text: #aaa;
|
26
|
+
--input-bg: #333;
|
27
|
+
--input-border: #555;
|
28
|
+
--button-bg: #0062cc;
|
29
|
+
--button-hover: #0069d9;
|
30
|
+
--button-text: #f0f0f0;
|
31
|
+
--button-shadow: rgba(0, 0, 0, 0.4);
|
32
|
+
}
|
33
|
+
}
|
8
34
|
/* 基本样式 */
|
9
35
|
body {
|
10
36
|
font-family: Arial, sans-serif;
|
11
37
|
text-align: center;
|
12
38
|
padding: 20px;
|
13
|
-
background-color:
|
39
|
+
background-color: var(--bg-color);
|
40
|
+
color: var(--text-color);
|
41
|
+
transition: background-color 0.3s, color 0.3s;
|
14
42
|
}
|
15
|
-
|
16
43
|
h2 {
|
17
|
-
color:
|
44
|
+
color: var(--text-color);
|
18
45
|
}
|
19
|
-
|
20
46
|
/* 响应式输入框 */
|
21
47
|
textarea {
|
22
48
|
width: 90%;
|
23
49
|
max-width: 600px;
|
24
|
-
height: 250px;
|
50
|
+
height: 250px;
|
25
51
|
font-size: 16px;
|
26
52
|
padding: 10px;
|
27
|
-
border: 1px solid
|
53
|
+
border: 1px solid var(--input-border);
|
28
54
|
border-radius: 8px;
|
29
|
-
resize: vertical;
|
55
|
+
resize: vertical;
|
30
56
|
overflow-y: auto;
|
57
|
+
background-color: var(--input-bg);
|
58
|
+
color: var(--text-color);
|
59
|
+
transition: background-color 0.3s, color 0.3s, border-color 0.3s;
|
31
60
|
}
|
32
|
-
|
33
61
|
/* 按钮样式 */
|
34
62
|
.button-container {
|
35
63
|
margin-top: 10px;
|
36
64
|
}
|
37
|
-
|
38
65
|
button {
|
39
|
-
background-color:
|
40
|
-
color:
|
66
|
+
background-color: var(--button-bg);
|
67
|
+
color: var(--button-text);
|
41
68
|
border: none;
|
42
69
|
padding: 12px 18px;
|
43
70
|
font-size: 16px;
|
44
71
|
border-radius: 6px;
|
45
72
|
cursor: pointer;
|
46
73
|
transition: 0.3s;
|
47
|
-
box-shadow: 2px 2px 8px
|
74
|
+
box-shadow: 2px 2px 8px var(--button-shadow);
|
48
75
|
margin: 5px;
|
49
76
|
}
|
50
|
-
|
51
77
|
button:hover {
|
52
|
-
background-color:
|
78
|
+
background-color: var(--button-hover);
|
53
79
|
}
|
54
|
-
|
55
80
|
/* 手机端优化 */
|
56
81
|
@media (max-width: 600px) {
|
57
82
|
textarea {
|
58
83
|
font-size: 18px;
|
59
84
|
height: 180px;
|
60
85
|
}
|
61
|
-
|
62
86
|
button {
|
63
87
|
width: 90%;
|
64
88
|
font-size: 18px;
|
65
89
|
padding: 14px;
|
66
90
|
}
|
67
91
|
}
|
68
|
-
|
69
92
|
/* 提示信息 */
|
70
93
|
.hint {
|
71
94
|
font-size: 14px;
|
72
|
-
color:
|
95
|
+
color: var(--secondary-text);
|
73
96
|
margin-top: 10px;
|
74
97
|
}
|
75
98
|
</style>
|
@@ -167,4 +190,4 @@
|
|
167
190
|
}
|
168
191
|
</script>
|
169
192
|
</body>
|
170
|
-
</html>
|
193
|
+
</html>
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: podflow
|
3
|
-
Version:
|
3
|
+
Version: 20250328
|
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
|
@@ -14,7 +14,7 @@ Requires-Python: >=3.8
|
|
14
14
|
Description-Content-Type: text/markdown
|
15
15
|
Requires-Dist: astral>=3.2
|
16
16
|
Requires-Dist: bottle>=0.13.2
|
17
|
-
Requires-Dist: yt-dlp>=2025.3.
|
17
|
+
Requires-Dist: yt-dlp>=2025.3.27
|
18
18
|
Requires-Dist: chardet>=5.2.0
|
19
19
|
Requires-Dist: cherrypy>=18.10.0
|
20
20
|
Requires-Dist: pyqrcode>=1.2.1
|
@@ -40,7 +40,7 @@ podflow/download/show_progress.py,sha256=cWlyIh6WqoH3s4WpFSyL6xtiXhQFbrVJVcckxO-
|
|
40
40
|
podflow/download/wait_animation.py,sha256=RnByMq0Ql_yr9OqQ3dl3W-41GgP0T8PvlbwwVeMb7_k,1056
|
41
41
|
podflow/download/youtube_and_bilibili_download.py,sha256=dlUh9cPHrYgZAhtXlBUOdFIpZOhv9xOtgdcTaqUvLuY,1294
|
42
42
|
podflow/httpfs/__init__.py,sha256=BxEXkufjcx-a0F7sDVXo65hmyANqCCbZUd6EH9i8T2c,45
|
43
|
-
podflow/httpfs/app_bottle.py,sha256=
|
43
|
+
podflow/httpfs/app_bottle.py,sha256=dxoAkSpIhT4ddbGA9uclzMdvYyu44YF9FLFW3vqRsHI,16405
|
44
44
|
podflow/httpfs/browser.py,sha256=BJ4Xkfiki_tDr0Sc9RqAcEfIVpkAZ3RFOwo0aMHlY3U,197
|
45
45
|
podflow/httpfs/get_channelid.py,sha256=gcwy4IVHBWNQz7qPCpjwiAklGFLRGzvM33-UZz7oFvo,2296
|
46
46
|
podflow/httpfs/port_judge.py,sha256=l_nLpsSiIhAzfJGCOWyYC-KkCCWPUW2ybe_5hdMOEzE,764
|
@@ -79,7 +79,7 @@ podflow/remove/remove_dir.py,sha256=xQIhrnqnYjMzXjoSWaTvm7JwPYOFTN1muuTPdaLDXpQ,
|
|
79
79
|
podflow/remove/remove_file.py,sha256=8wAJQehs-XBqvu0vPlEme2_tt0FZxc5ELwGMxXA_558,982
|
80
80
|
podflow/repair/__init__.py,sha256=Gpc1i6xiSLodKjjmzH66c_Y1z0HQ9E9CS3p95FRnVFM,45
|
81
81
|
podflow/repair/reverse_log.py,sha256=Wc_vAH0WB-z1fNdWx7FYaVH4caRPtot7tDwDwFhmpz4,1106
|
82
|
-
podflow/templates/index.html,sha256=
|
82
|
+
podflow/templates/index.html,sha256=tQISpLqCwqLEa7mvbEBLr2MgwyUoq4I_5tLltjOrVe0,5722
|
83
83
|
podflow/upload/__init__.py,sha256=AtOSXDrE5EjUe3z-iBd1NTDaH8n_X9qA5WXdBLkONjA,45
|
84
84
|
podflow/upload/add_upload.py,sha256=_2-V0z75Lwu-PUCfMD9HOSxZTB102yZlZW5hSdlHcsc,1432
|
85
85
|
podflow/upload/build_hash.py,sha256=9opa3xLd7nJbGGX5xa3uuKPS6dxlbkAb87ZdEiUxmxI,473
|
@@ -94,8 +94,8 @@ podflow/youtube/__init__.py,sha256=pgXod8gq0IijZxIkPSwgAOcb9JI5rd1mqMomoR7bcJ4,4
|
|
94
94
|
podflow/youtube/build.py,sha256=3LYk_ICVXj9XkE9jZ8jEVI8596xxS_QZkcoIwcBE3Ys,12006
|
95
95
|
podflow/youtube/get.py,sha256=Of7PRgUknhpyW70nvyVAUYVb5KyFViKiBTfH3Y6Mke8,16970
|
96
96
|
podflow/youtube/login.py,sha256=3nLj0KLdsc-kQmXxG5FyZfR-kiDzbQy2J0KhPXMxJGc,1380
|
97
|
-
podflow-
|
98
|
-
podflow-
|
99
|
-
podflow-
|
100
|
-
podflow-
|
101
|
-
podflow-
|
97
|
+
podflow-20250328.dist-info/METADATA,sha256=uPhMooTmoizsHhuJv2otAUfdhbHns9yMXXcz8VP-Zao,14163
|
98
|
+
podflow-20250328.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
99
|
+
podflow-20250328.dist-info/entry_points.txt,sha256=mn7hD_c_dmpKe3XU0KNekheBvD01LhlJ9htY-Df0j2A,131
|
100
|
+
podflow-20250328.dist-info/top_level.txt,sha256=fUujhhz-RrMI8aGvi-3Ey5y7FQnpOOgoFw9OWM3yLCU,8
|
101
|
+
podflow-20250328.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|