|
@@ -12,6 +12,7 @@ from app.api import deps
|
|
|
|
|
|
from app.core.celery_app import celery_app
|
|
|
from app.core.config import settings
|
|
|
+from app.aianchor.utils2 import check_zip, VideoMakerError
|
|
|
from pathlib import Path
|
|
|
from app.db.session import SessionLocal
|
|
|
|
|
@@ -45,6 +46,7 @@ def get_video_list(
|
|
|
@router.post("/test")
|
|
|
def test(
|
|
|
*,
|
|
|
+ db: Session = Depends(deps.get_db),
|
|
|
title: str,
|
|
|
anchor_id: int,
|
|
|
lang_id: int,
|
|
@@ -52,7 +54,15 @@ def test(
|
|
|
) -> Any:
|
|
|
video_data = {"title":title, "anchor_id":anchor_id, "lang_id":lang_id}
|
|
|
print(video_data)
|
|
|
- task = celery_app.send_task("app.worker.make_video_test", kwargs=video_data, )
|
|
|
+ filename = crud.video.generate_file_name(db=db, n=20)
|
|
|
+ video_create = schemas.VideoCreate(title=title, progress_state="PENDING", stored_filename=filename)
|
|
|
+ video = crud.video.create_with_owner(db=db, obj_in=video_create, owner_id=current_user.id, )
|
|
|
+ return_msg = {"video_message":"accepted"}
|
|
|
+ video_data = jsonable_encoder(video)
|
|
|
+ video_data['membership_status'] = current_user.membership_status
|
|
|
+ video_data['available_time'] = current_user.available_time
|
|
|
+ video_data['video_id'] = video_data['id']
|
|
|
+ task = celery_app.send_task("app.worker.make_video_test", kwargs=video_data)
|
|
|
print(task)
|
|
|
return "ok"
|
|
|
|
|
@@ -73,17 +83,26 @@ def upload_plot(
|
|
|
print(title)
|
|
|
print(upload_file.filename)
|
|
|
filename = crud.video.generate_file_name(db=db, n=20)
|
|
|
-
|
|
|
+ filepath = str(Path(BACKEND_ZIP_STORAGE).joinpath(filename+".zip"))
|
|
|
try:
|
|
|
- with open(str(Path(BACKEND_ZIP_STORAGE).joinpath(filename+".zip")), 'wb') as f:
|
|
|
+ with open(filepath, 'wb') as f:
|
|
|
while contents := upload_file.file.read(1024 * 1024):
|
|
|
f.write(contents)
|
|
|
except Exception as e:
|
|
|
print(e, type(e))
|
|
|
- return {"error": str(e)}
|
|
|
+ error_msg = {"error_message": str(e)}
|
|
|
+ return JSONResponse(error_msg)
|
|
|
finally:
|
|
|
upload_file.file.close()
|
|
|
+ try:
|
|
|
+ if check_zip(filepath):
|
|
|
+ print("passed check_zip")
|
|
|
+ except VideoMakerError as e:
|
|
|
+ print(e)
|
|
|
+ error_msg = {"accepted": False, "error_message":f'{e}'}
|
|
|
+ return JSONResponse(error_msg)
|
|
|
|
|
|
+ return_msg = {"accepted_message":"accepted"}
|
|
|
|
|
|
'''
|
|
|
zip_filename = video.stored_file_name+".zip"
|
|
@@ -93,6 +112,7 @@ def upload_plot(
|
|
|
print(r.returncode)
|
|
|
celery_app.send_task("app.worker.make_video", args=[video.id, video.stored_file_name, current_user.id, anchor_id, current_user.membership_status, current_user.available_time])
|
|
|
'''
|
|
|
+
|
|
|
video_create = schemas.VideoCreate(title=title, progress_state="PENDING", stored_filename=filename)
|
|
|
video = crud.video.create_with_owner(db=db, obj_in=video_create, owner_id=current_user.id)
|
|
|
return_msg = {"video_message":"accepted"}
|