初始版本

This commit is contained in:
2022-04-15 14:33:01 +08:00
parent 09b2956573
commit e72eeb1f0e
6 changed files with 124 additions and 7 deletions

View File

@ -1,4 +1,5 @@
import os.path
import threading
from datetime import datetime, timedelta
from glob import glob
from flask import Blueprint, jsonify, request, current_app
@ -9,12 +10,25 @@ from model import db
from model.DanmakuClip import DanmakuClip
from model.VideoClip import VideoClip
from model.Workflow import Workflow
from worker.danmaku import do_workflow
blueprint = Blueprint("api_bilirecorder", __name__, url_prefix="/api/bilirecorder")
bili_record_workflow_item: Optional[Workflow] = None
def auto_submit_task():
global bili_record_workflow_item
if not bili_record_workflow_item.editing:
if len(bili_record_workflow_item.video_clips) > 0 and len(bili_record_workflow_item.danmaku_clips) > 0:
threading.Thread(target=do_workflow, args=(
bili_record_workflow_item.video_clips[0].full_path,
bili_record_workflow_item.danmaku_clips[0].full_path,
[clip.full_path for clip in bili_record_workflow_item.danmaku_clips[1:]]
)).start()
clear_item()
def clear_item():
global bili_record_workflow_item
bili_record_workflow_item = None
@ -86,7 +100,6 @@ def collect_danmaku_files(workflow: Optional[Workflow]):
commit_item()
@blueprint.post("/")
def bilirecorder_event():
payload = request.json
@ -107,7 +120,7 @@ def bilirecorder_event():
item = safe_get_item()
item.editing = False
commit_item()
clear_item()
auto_submit_task()
return jsonify(item.to_dict())
elif payload['EventType'] == "FileClosed":
# 文件关闭
@ -128,6 +141,7 @@ def bilirecorder_event():
item.video_clips.append(video_clip)
commit_item()
collect_danmaku_files(item)
auto_submit_task()
return jsonify(item.to_dict())
commit_item()
item = safe_get_item()