api_get_spoken_language.py 1.1 KB

12345678910111213141516171819202122232425262728293031323334
  1. # -*- coding: utf-8 -*-
  2. from fastapi import FastAPI, Form, HTTPException, Request,status,APIRouter,Query,Path,UploadFile,File
  3. from tools.loglog import logger,log_err_e
  4. from spoken_language.soeexample import spoken_result,make_spoken
  5. from random import randint
  6. from core.respone_format import *
  7. router = APIRouter()
  8. @router.post("/spoken_language")
  9. async def post_article(request:Request,url=Form(""),file: UploadFile = File(None),text=Form(...)):
  10. if not url and not file:
  11. logger.error("错误:请上传mp3文件url参数或者二进制文件file参数")
  12. return resp_404(message="错误:请上传mp3文件url参数或者二进制文件file参数")
  13. try:
  14. task_id = randint(10000,99999)
  15. if file:
  16. file_content = await file.read()
  17. else:
  18. file_content = None
  19. data:dict = make_spoken(task_id,url,file_content,text)
  20. if data:
  21. logger.success(f"完成spoken_language请求:{data}")
  22. return data
  23. except Exception as e:
  24. log_err_e(e,msg="口语评测接口")
  25. return resp_500(message=f"{type(e).__name__},{e}")