From c9ceaeca6755fb394fe04aa0424325f4485ca31e Mon Sep 17 00:00:00 2001 From: Jerry Yan <792602257@qq.com> Date: Mon, 1 Aug 2022 11:32:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=80=BB=E7=9A=84=E4=B8=8A=E4=BC=A0=E5=AE=8C?= =?UTF-8?q?=E6=88=90=E5=90=8E=E5=86=8D=E6=8A=95=E7=A8=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- controller/api/bilirecorder_blueprint.py | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/controller/api/bilirecorder_blueprint.py b/controller/api/bilirecorder_blueprint.py index b591e30..51be00f 100644 --- a/controller/api/bilirecorder_blueprint.py +++ b/controller/api/bilirecorder_blueprint.py @@ -35,6 +35,9 @@ def auto_submit_task(): if len(bili_record_workflow_item.video_clips) == 0: print("[!]Auto Submit Fail: No Video Clips") return + bilibili_instance.login() + video_title = bili_record_workflow_item.name + _future = None for video_clip in bili_record_workflow_item.video_clips: if len(video_clip.danmaku_clips) > 0: print("[+]Workflow:", bili_record_workflow_item.id, "; Video:", video_clip.full_path) @@ -45,24 +48,27 @@ def auto_submit_task(): video_clip.danmaku_clips[0].full_path, *[clip.full_path for clip in video_clip.danmaku_clips[1:]] ) - video_title = bili_record_workflow_item.name clear_item() def _encode_finish_callback(_f: "Future"): _result = _f.result() if _result: # start uploading - bilibili_instance.login() - bilibili_instance.upload( + bilibili_instance.pre_upload( parts=[VideoPart(os.path.join(_item['base_path'], _item['file']), _item['file']) for _item in - _result], - title=video_title, - desc=VIDEO_DESC, - tid=VIDEO_TID, - tag=VIDEO_TAGS, - no_reprint=0) + _result]) _future.add_done_callback(_encode_finish_callback) else: print("[-]Workflow:", bili_record_workflow_item.id, "; Video:", video_clip.full_path, "; No Danmaku") + if _future is not None: + def _on_upload_finish(_f: "Future"): + bilibili_instance.finish_upload( + title=video_title, + desc=VIDEO_DESC, + tid=VIDEO_TID, + tag=VIDEO_TAGS, + no_reprint=0) + bilibili_instance.clear() + _future.add_done_callback(_on_upload_finish) def clear_item():