podflow 20250331.1__tar.gz → 20250331.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.
- {podflow-20250331.1 → podflow-20250331.2}/PKG-INFO +1 -1
- podflow-20250331.2/podflow/httpfs/ansi_to_html.py +50 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/templates/index.html +37 -33
- {podflow-20250331.1 → podflow-20250331.2}/podflow.egg-info/PKG-INFO +1 -1
- {podflow-20250331.1 → podflow-20250331.2}/setup.py +1 -1
- podflow-20250331.1/podflow/httpfs/ansi_to_html.py +0 -51
- {podflow-20250331.1 → podflow-20250331.2}/MANIFEST.in +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/README.md +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/__init__.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/basic/__init__.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/basic/file_save.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/basic/folder_build.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/basic/get_duration.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/basic/get_file_list.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/basic/get_html_dict.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/basic/http_client.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/basic/list_merge_tidy.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/basic/qr_code.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/basic/split_dict.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/basic/time_format.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/basic/time_print.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/basic/time_stamp.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/basic/vary_replace.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/basic/write_log.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/bilibili/__init__.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/bilibili/build.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/bilibili/get.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/bilibili/login.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/config/__init__.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/config/build_original.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/config/channge_icon.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/config/correct_channelid.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/config/correct_config.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/config/get_channelid.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/config/get_channelid_id.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/config/get_config.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/download/__init__.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/download/convert_bytes.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/download/delete_part.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/download/dl_aideo_video.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/download/show_progress.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/download/wait_animation.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/download/youtube_and_bilibili_download.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/download_and_build.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/ffmpeg_judge.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/httpfs/__init__.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/httpfs/app_bottle.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/httpfs/browser.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/httpfs/get_channelid.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/httpfs/port_judge.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/main.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/main_podcast.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/main_upload.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/makeup/__init__.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/makeup/del_makeup_format_fail.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/makeup/make_up_file.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/makeup/make_up_file_format_mod.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/makeup/make_up_file_mod.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/message/__init__.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/message/backup_zip_save.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/message/create_main_rss.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/message/display_qrcode_and_url.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/message/fail_message_initialize.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/message/format_time.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/message/get_media_name.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/message/get_original_rss.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/message/get_video_format.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/message/get_video_format_multithread.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/message/get_youtube_and_bilibili_video_format.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/message/media_format.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/message/original_rss_fail_print.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/message/rss_create_hash.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/message/save_rss.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/message/title_correction.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/message/update_information_display.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/message/update_youtube_bilibili_rss.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/message/want_retry.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/message/xml_item.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/message/xml_original_item.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/message/xml_rss.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/netscape/__init__.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/netscape/bulid_netscape.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/netscape/get_cookie_dict.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/parse_arguments.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/remove/__init__.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/remove/remove_dir.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/remove/remove_file.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/repair/__init__.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/repair/reverse_log.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/upload/__init__.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/upload/add_upload.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/upload/build_hash.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/upload/get_upload_original.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/upload/linked_client.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/upload/linked_server.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/upload/login.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/upload/time_key.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/upload/update_upload.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/upload/upload_server.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/youtube/__init__.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/youtube/build.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/youtube/get.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow/youtube/login.py +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow.egg-info/SOURCES.txt +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow.egg-info/dependency_links.txt +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow.egg-info/entry_points.txt +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow.egg-info/requires.txt +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/podflow.egg-info/top_level.txt +0 -0
- {podflow-20250331.1 → podflow-20250331.2}/setup.cfg +0 -0
@@ -0,0 +1,50 @@
|
|
1
|
+
# podflow/httpfs/ansi_to_htmlpy
|
2
|
+
# coding: utf-8
|
3
|
+
|
4
|
+
import re
|
5
|
+
import html
|
6
|
+
|
7
|
+
|
8
|
+
def ansi_to_html(ansi_text):
|
9
|
+
html_output = ""
|
10
|
+
ansi_codes = {
|
11
|
+
"\033[30m": "ansi-30m", # 黑色
|
12
|
+
"\033[31m": "ansi-31m", # 红色
|
13
|
+
"\033[32m": "ansi-32m", # 绿色
|
14
|
+
"\033[33m": "ansi-33m", # 黄色
|
15
|
+
"\033[34m": "ansi-34m", # 蓝色
|
16
|
+
"\033[35m": "ansi-35m", # 品红
|
17
|
+
"\033[36m": "ansi-36m", # 青色
|
18
|
+
"\033[37m": "ansi-37m", # 白色
|
19
|
+
"\033[90m": "ansi-90m", # 亮黑色 (通常显示为灰色)
|
20
|
+
"\033[91m": "ansi-91m", # 亮红色 (例如:热粉色)
|
21
|
+
"\033[92m": "ansi-92m", # 亮绿色 (例如:浅绿色)
|
22
|
+
"\033[93m": "ansi-93m", # 亮黄色 (通常与黄色相同)
|
23
|
+
"\033[94m": "ansi-94m", # 亮蓝色 (例如:浅蓝色)
|
24
|
+
"\033[95m": "ansi-95m", # 亮品红 (通常与品红相同)
|
25
|
+
"\033[96m": "ansi-96m", # 亮青色 (通常与青色相同)
|
26
|
+
"\033[97m": "ansi-97m", # 亮白色 (例如:爱丽丝蓝)
|
27
|
+
"\033[0m": "", # 重置
|
28
|
+
}
|
29
|
+
inside_span = False
|
30
|
+
|
31
|
+
parts = re.split(r"(\033\[\d+m)", ansi_text)
|
32
|
+
|
33
|
+
for part in parts:
|
34
|
+
if part in ansi_codes:
|
35
|
+
if style := ansi_codes[part]:
|
36
|
+
if inside_span:
|
37
|
+
html_output += "</span>"
|
38
|
+
html_output += f'<span class="{style}">'
|
39
|
+
inside_span = True
|
40
|
+
elif inside_span: # Reset code
|
41
|
+
html_output += "</span>"
|
42
|
+
inside_span = False
|
43
|
+
else:
|
44
|
+
escaped_part = html.escape(part)
|
45
|
+
html_output += escaped_part
|
46
|
+
|
47
|
+
if inside_span:
|
48
|
+
html_output += "</span>"
|
49
|
+
|
50
|
+
return html_output
|
@@ -20,22 +20,6 @@
|
|
20
20
|
--menu-text: #333333;
|
21
21
|
--menu-width: 170px;
|
22
22
|
--menu-selected-bg: #cccccc;
|
23
|
-
.ansi-30m { color: #000000; }
|
24
|
-
.ansi-31m { color: #ff0000; }
|
25
|
-
.ansi-32m { color: #00ff00; }
|
26
|
-
.ansi-33m { color: #ffff00; }
|
27
|
-
.ansi-34m { color: #0000ff; }
|
28
|
-
.ansi-35m { color: #ff00ff; }
|
29
|
-
.ansi-36m { color: #00ffff; }
|
30
|
-
.ansi-37m { color: #ffffff; }
|
31
|
-
.ansi-90m { color: #808080; }
|
32
|
-
.ansi-91m { color: #ff8080; }
|
33
|
-
.ansi-92m { color: #80ff80; }
|
34
|
-
.ansi-93m { color: #ffff80; }
|
35
|
-
.ansi-94m { color: #8080ff; }
|
36
|
-
.ansi-95m { color: #ff80ff; }
|
37
|
-
.ansi-96m { color: #80ffff; }
|
38
|
-
.ansi-97m { color: #ffffff; }
|
39
23
|
}
|
40
24
|
|
41
25
|
/* 深色模式变量 */
|
@@ -53,25 +37,45 @@
|
|
53
37
|
--menu-bg: #333333;
|
54
38
|
--menu-text: #e0e0e0;
|
55
39
|
--menu-selected-bg: #555555;
|
56
|
-
.ansi-30m { color: #ffffff; }
|
57
|
-
.ansi-31m { color: #ff0000; }
|
58
|
-
.ansi-32m { color: #00ff00; }
|
59
|
-
.ansi-33m { color: #ffff00; }
|
60
|
-
.ansi-34m { color: #0000ff; }
|
61
|
-
.ansi-35m { color: #ff00ff; }
|
62
|
-
.ansi-36m { color: #00ffff; }
|
63
|
-
.ansi-37m { color: #000000; }
|
64
|
-
.ansi-90m { color: #e0e0e0; }
|
65
|
-
.ansi-91m { color: #ff8080; }
|
66
|
-
.ansi-92m { color: #80ff80; }
|
67
|
-
.ansi-93m { color: #ffff80; }
|
68
|
-
.ansi-94m { color: #8080ff; }
|
69
|
-
.ansi-95m { color: #ff80ff; }
|
70
|
-
.ansi-96m { color: #80ffff; }
|
71
|
-
.ansi-97m { color: #000000; }
|
72
40
|
}
|
73
41
|
}
|
74
|
-
|
42
|
+
|
43
|
+
.ansi-30m { color: #000000; }
|
44
|
+
.ansi-31m { color: #ff0000; }
|
45
|
+
.ansi-32m { color: #00ff00; }
|
46
|
+
.ansi-33m { color: #ffff00; }
|
47
|
+
.ansi-34m { color: #0000ff; }
|
48
|
+
.ansi-35m { color: #ff00ff; }
|
49
|
+
.ansi-36m { color: #00ffff; }
|
50
|
+
.ansi-37m { color: #ffffff; }
|
51
|
+
.ansi-90m { color: #808080; }
|
52
|
+
.ansi-91m { color: #ff8080; }
|
53
|
+
.ansi-92m { color: #80ff80; }
|
54
|
+
.ansi-93m { color: #ffff80; }
|
55
|
+
.ansi-94m { color: #8080ff; }
|
56
|
+
.ansi-95m { color: #ff80ff; }
|
57
|
+
.ansi-96m { color: #80ffff; }
|
58
|
+
.ansi-97m { color: #ffffff; }.
|
59
|
+
|
60
|
+
@media (prefers-color-scheme: dark) {
|
61
|
+
.ansi-30m { color: #ffffff; }
|
62
|
+
.ansi-31m { color: #ff0000; }
|
63
|
+
.ansi-32m { color: #00ff00; }
|
64
|
+
.ansi-33m { color: #ffff00; }
|
65
|
+
.ansi-34m { color: #0000ff; }
|
66
|
+
.ansi-35m { color: #ff00ff; }
|
67
|
+
.ansi-36m { color: #00ffff; }
|
68
|
+
.ansi-37m { color: #000000; }
|
69
|
+
.ansi-90m { color: #e0e0e0; }
|
70
|
+
.ansi-91m { color: #ff8080; }
|
71
|
+
.ansi-92m { color: #80ff80; }
|
72
|
+
.ansi-93m { color: #ffff80; }
|
73
|
+
.ansi-94m { color: #8080ff; }
|
74
|
+
.ansi-95m { color: #ff80ff; }
|
75
|
+
.ansi-96m { color: #80ffff; }
|
76
|
+
.ansi-97m { color: #000000; }
|
77
|
+
}
|
78
|
+
|
75
79
|
/* 基本样式 */
|
76
80
|
body {
|
77
81
|
font-family: Arial, sans-serif;
|
@@ -1,51 +0,0 @@
|
|
1
|
-
# podflow/httpfs/ansi_to_htmlpy
|
2
|
-
# coding: utf-8
|
3
|
-
|
4
|
-
import re
|
5
|
-
import html
|
6
|
-
|
7
|
-
|
8
|
-
def ansi_to_html(ansi_text):
|
9
|
-
html_output = ""
|
10
|
-
ansi_codes = {
|
11
|
-
"\033[30m": "color: 30m;", # 黑色
|
12
|
-
"\033[31m": "color: 31m;", # 红色
|
13
|
-
"\033[32m": "color: 32m;", # 绿色
|
14
|
-
"\033[33m": "color: 33m;", # 黄色
|
15
|
-
"\033[34m": "color: 34m;", # 蓝色
|
16
|
-
"\033[35m": "color: 35m;", # 品红
|
17
|
-
"\033[36m": "color: 36m;", # 青色
|
18
|
-
"\033[37m": "color: 37m;", # 白色
|
19
|
-
"\033[90m": "color: 90m;", # 亮黑色 (通常显示为灰色)
|
20
|
-
"\033[91m": "color: 91m;", # 亮红色 (例如:热粉色)
|
21
|
-
"\033[92m": "color: 92m;", # 亮绿色 (例如:浅绿色)
|
22
|
-
"\033[93m": "color: 93m;", # 亮黄色 (通常与黄色相同)
|
23
|
-
"\033[94m": "color: 94m;", # 亮蓝色 (例如:浅蓝色)
|
24
|
-
"\033[95m": "color: 95m;", # 亮品红 (通常与品红相同)
|
25
|
-
"\033[96m": "color: 96m;", # 亮青色 (通常与青色相同)
|
26
|
-
"\033[97m": "color: 97m;", # 亮白色 (例如:爱丽丝蓝)
|
27
|
-
"\033[0m": "", # 重置
|
28
|
-
}
|
29
|
-
inside_span = False
|
30
|
-
|
31
|
-
parts = re.split(r"(\033\[\d+m)", ansi_text)
|
32
|
-
|
33
|
-
for part in parts:
|
34
|
-
if part in ansi_codes:
|
35
|
-
style = ansi_codes[part]
|
36
|
-
if style:
|
37
|
-
if inside_span:
|
38
|
-
html_output += "</span>"
|
39
|
-
html_output += f'<span style="{style}">'
|
40
|
-
inside_span = True
|
41
|
-
elif inside_span: # Reset code
|
42
|
-
html_output += "</span>"
|
43
|
-
inside_span = False
|
44
|
-
else:
|
45
|
-
escaped_part = html.escape(part)
|
46
|
-
html_output += escaped_part
|
47
|
-
|
48
|
-
if inside_span:
|
49
|
-
html_output += "</span>"
|
50
|
-
|
51
|
-
return html_output
|
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
|
{podflow-20250331.1 → podflow-20250331.2}/podflow/message/get_youtube_and_bilibili_video_format.py
RENAMED
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
|