podflow 20250404__tar.gz → 20250404.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-20250404 → podflow-20250404.2}/PKG-INFO +1 -1
- {podflow-20250404 → podflow-20250404.2}/podflow/basic/time_print.py +12 -12
- {podflow-20250404 → podflow-20250404.2}/podflow/download/dl_aideo_video.py +33 -16
- {podflow-20250404 → podflow-20250404.2}/podflow/download/wait_animation.py +1 -1
- {podflow-20250404 → podflow-20250404.2}/podflow/httpfs/app_bottle.py +2 -2
- {podflow-20250404 → podflow-20250404.2}/podflow/templates/index.html +2 -2
- {podflow-20250404 → podflow-20250404.2}/podflow.egg-info/PKG-INFO +1 -1
- {podflow-20250404 → podflow-20250404.2}/setup.py +1 -1
- {podflow-20250404 → podflow-20250404.2}/MANIFEST.in +0 -0
- {podflow-20250404 → podflow-20250404.2}/README.md +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/__init__.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/basic/__init__.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/basic/file_save.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/basic/folder_build.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/basic/get_duration.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/basic/get_file_list.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/basic/get_html_dict.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/basic/http_client.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/basic/list_merge_tidy.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/basic/qr_code.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/basic/split_dict.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/basic/time_format.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/basic/time_stamp.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/basic/vary_replace.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/basic/write_log.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/bilibili/__init__.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/bilibili/build.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/bilibili/get.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/bilibili/login.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/config/__init__.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/config/build_original.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/config/channge_icon.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/config/correct_channelid.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/config/correct_config.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/config/get_channelid.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/config/get_channelid_id.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/config/get_config.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/download/__init__.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/download/convert_bytes.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/download/delete_part.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/download/show_progress.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/download/youtube_and_bilibili_download.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/download_and_build.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/ffmpeg_judge.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/httpfs/__init__.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/httpfs/browser.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/httpfs/get_channelid.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/httpfs/port_judge.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/httpfs/to_html.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/main.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/main_podcast.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/main_upload.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/makeup/__init__.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/makeup/del_makeup_format_fail.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/makeup/make_up_file.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/makeup/make_up_file_format_mod.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/makeup/make_up_file_mod.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/message/__init__.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/message/backup_zip_save.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/message/create_main_rss.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/message/display_qrcode_and_url.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/message/fail_message_initialize.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/message/format_time.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/message/get_media_name.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/message/get_original_rss.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/message/get_video_format.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/message/get_video_format_multithread.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/message/get_youtube_and_bilibili_video_format.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/message/media_format.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/message/original_rss_fail_print.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/message/rss_create_hash.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/message/save_rss.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/message/title_correction.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/message/update_information_display.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/message/update_youtube_bilibili_rss.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/message/want_retry.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/message/xml_item.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/message/xml_original_item.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/message/xml_rss.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/netscape/__init__.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/netscape/bulid_netscape.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/netscape/get_cookie_dict.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/parse_arguments.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/remove/__init__.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/remove/remove_dir.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/remove/remove_file.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/repair/__init__.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/repair/reverse_log.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/upload/__init__.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/upload/add_upload.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/upload/build_hash.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/upload/get_upload_original.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/upload/linked_client.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/upload/linked_server.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/upload/login.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/upload/time_key.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/upload/update_upload.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/upload/upload_server.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/youtube/__init__.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/youtube/build.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/youtube/get.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow/youtube/login.py +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow.egg-info/SOURCES.txt +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow.egg-info/dependency_links.txt +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow.egg-info/entry_points.txt +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow.egg-info/requires.txt +0 -0
- {podflow-20250404 → podflow-20250404.2}/podflow.egg-info/top_level.txt +0 -0
- {podflow-20250404 → podflow-20250404.2}/setup.cfg +0 -0
@@ -22,18 +22,18 @@ def time_print(text, Top=False, NoEnter=False, Time=True, Url=""):
|
|
22
22
|
|
23
23
|
if text:
|
24
24
|
text = ansi_to_html(text)
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
25
|
+
if not gVar.index_message["enter"] and gVar.index_message["podflow"]:
|
26
|
+
if Top and gVar.index_message["podflow"]:
|
27
|
+
gVar.index_message["podflow"][-1] = text
|
28
|
+
else:
|
29
|
+
gVar.index_message["podflow"][-1] += text
|
30
|
+
else:
|
31
|
+
gVar.index_message["podflow"].append(text)
|
32
|
+
if NoEnter:
|
33
|
+
gVar.index_message["enter"] = False
|
34
|
+
else:
|
35
|
+
gVar.index_message["enter"] = True
|
32
36
|
if Url:
|
33
37
|
gVar.index_message["podflow"].append(
|
34
|
-
|
35
|
-
f'<a href="{Url}"><span class="ansi-url">{Url}</span></a>',
|
36
|
-
Top,
|
37
|
-
NoEnter,
|
38
|
-
]
|
38
|
+
f'<a href="{Url}"><span class="ansi-url">{Url}</span></a>'
|
39
39
|
)
|
@@ -2,11 +2,11 @@
|
|
2
2
|
# coding: utf-8
|
3
3
|
|
4
4
|
import os
|
5
|
-
from datetime import datetime
|
6
5
|
import ffmpeg
|
7
6
|
import yt_dlp
|
8
7
|
from podflow import gVar
|
9
8
|
from podflow.basic.write_log import write_log
|
9
|
+
from podflow.basic.time_print import time_print
|
10
10
|
from podflow.basic.get_duration import get_duration
|
11
11
|
from podflow.download.show_progress import show_progress
|
12
12
|
from podflow.message.fail_message_initialize import fail_message_initialize
|
@@ -36,7 +36,7 @@ def download_video(
|
|
36
36
|
|
37
37
|
def error(self, msg):
|
38
38
|
msg = fail_message_initialize(msg, video_url).ljust(48)
|
39
|
-
|
39
|
+
time_print(msg, Time=False)
|
40
40
|
|
41
41
|
outtmpl = f"channel_audiovisual/{output_dir}/{video_url}{sesuffix}.{output_format}"
|
42
42
|
ydl_opts = {
|
@@ -215,15 +215,21 @@ def dl_aideo_video(
|
|
215
215
|
print_message = (
|
216
216
|
"\033[34m开始下载\033[0m 🍪" if cookies else "\033[34m开始下载\033[0m"
|
217
217
|
)
|
218
|
-
|
219
|
-
f"{
|
220
|
-
|
218
|
+
time_print(
|
219
|
+
f"{video_write_log} {print_message}",
|
220
|
+
NoEnter=True,
|
221
221
|
)
|
222
222
|
if output_format == "m4a":
|
223
223
|
if video_format[1] in ["140", "30280"]:
|
224
|
-
|
224
|
+
time_print(
|
225
|
+
"",
|
226
|
+
Time=False,
|
227
|
+
)
|
225
228
|
else:
|
226
|
-
|
229
|
+
time_print(
|
230
|
+
f" \033[97m{video_format[1]}\033[0m",
|
231
|
+
Time=False,
|
232
|
+
)
|
227
233
|
video_id_failed = dl_retry_video(
|
228
234
|
video_url,
|
229
235
|
output_dir,
|
@@ -238,8 +244,12 @@ def dl_aideo_video(
|
|
238
244
|
playlist_num,
|
239
245
|
)
|
240
246
|
else:
|
241
|
-
|
242
|
-
|
247
|
+
time_print(
|
248
|
+
"",
|
249
|
+
Time=False,
|
250
|
+
)
|
251
|
+
time_print(
|
252
|
+
f"\033[34m视频部分开始下载\033[0m \033[97m{video_format[2]}\033[0m",
|
243
253
|
)
|
244
254
|
video_id_failed = dl_retry_video(
|
245
255
|
video_url,
|
@@ -255,8 +265,8 @@ def dl_aideo_video(
|
|
255
265
|
playlist_num,
|
256
266
|
)
|
257
267
|
if video_id_failed is None:
|
258
|
-
|
259
|
-
f"
|
268
|
+
time_print(
|
269
|
+
f"\033[34m音频部分开始下载\033[0m \033[97m{video_format[1]}\033[0m",
|
260
270
|
)
|
261
271
|
video_id_failed = dl_retry_video(
|
262
272
|
video_url,
|
@@ -272,9 +282,9 @@ def dl_aideo_video(
|
|
272
282
|
playlist_num,
|
273
283
|
)
|
274
284
|
if video_id_failed is None:
|
275
|
-
|
276
|
-
|
277
|
-
|
285
|
+
time_print(
|
286
|
+
"\033[34m开始合成...\033[0m",
|
287
|
+
NoEnter=True,
|
278
288
|
)
|
279
289
|
# 指定视频文件和音频文件的路径
|
280
290
|
video_file = f"channel_audiovisual/{output_dir}/{video_url}.part.mp4"
|
@@ -288,14 +298,21 @@ def dl_aideo_video(
|
|
288
298
|
audio, video, output_file, vcodec="copy", acodec="copy"
|
289
299
|
)
|
290
300
|
ffmpeg.run(stream, quiet=True)
|
291
|
-
|
301
|
+
time_print(
|
302
|
+
" \033[32m合成成功\033[0m",
|
303
|
+
Time=False
|
304
|
+
)
|
292
305
|
# 删除临时文件
|
293
306
|
os.remove(f"channel_audiovisual/{output_dir}/{video_url}.part.mp4")
|
294
307
|
os.remove(f"channel_audiovisual/{output_dir}/{video_url}.part.m4a")
|
295
308
|
except ffmpeg.Error as dl_aideo_video_error:
|
296
309
|
video_id_failed = video_url
|
310
|
+
time_print(
|
311
|
+
"",
|
312
|
+
Time=False,
|
313
|
+
)
|
297
314
|
write_log(
|
298
|
-
f"
|
315
|
+
f"{video_write_log} \033[31m下载失败\033[0m\n错误信息: 合成失败:{dl_aideo_video_error}"
|
299
316
|
)
|
300
317
|
if video_id_failed is None:
|
301
318
|
if output_format == "m4a":
|
@@ -27,7 +27,7 @@ def wait_animation(stop_flag, wait_animation_display_info):
|
|
27
27
|
time.sleep(0.5)
|
28
28
|
elif stop_flag[0] == "error":
|
29
29
|
time_print(
|
30
|
-
f"{prepare_youtube_print}|{wait_animation_display_info}\033[34m准备中{animation} \033[31m失败:\033[0m",
|
30
|
+
f"{prepare_youtube_print}|{wait_animation_display_info}\033[34m准备中{animation}\033[0m \033[31m失败:\033[0m",
|
31
31
|
Top=True,
|
32
32
|
Time=False,
|
33
33
|
)
|
@@ -11,10 +11,10 @@ from podflow import gVar
|
|
11
11
|
from podflow.upload.login import create
|
12
12
|
from podflow.basic.file_save import file_save
|
13
13
|
from podflow.basic.write_log import write_log
|
14
|
+
from podflow.httpfs.to_html import ansi_to_html
|
14
15
|
from podflow.upload.build_hash import build_hash
|
15
16
|
from podflow.upload.time_key import check_time_key
|
16
17
|
from podflow.httpfs.get_channelid import get_channelid
|
17
|
-
from podflow.httpfs.to_html import ansi_to_html, message_html
|
18
18
|
|
19
19
|
|
20
20
|
class bottle_app:
|
@@ -403,7 +403,7 @@ class bottle_app:
|
|
403
403
|
# 处理消息的接收和发送。
|
404
404
|
def message(self):
|
405
405
|
response.content_type = 'application/json'
|
406
|
-
return
|
406
|
+
return gVar.index_message # 获取消息列表
|
407
407
|
|
408
408
|
|
409
409
|
bottle_app_instance = bottle_app()
|
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-20250404 → podflow-20250404.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
|