api_get_spoken_language.py 1.1 KB

1234567891011121314151617181920212223242526272829303132
  1. # -*- coding: utf-8 -*-
  2. from random import randint
  3. from fastapi import Form, Request, APIRouter, UploadFile, File
  4. from core.respone_format import *
  5. from spoken_language.soeexample import make_spoken
  6. from tools.loglog import logger, log_err_e
  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}")