123456789101112131415161718192021222324252627282930 |
- # -*- coding: utf-8 -*-
- from fastapi import FastAPI, Form, HTTPException, Request, status, APIRouter, Query, Path, UploadFile, File
- from tools.loglog import logger, log_err_e
- from spoken_language.soeexample import spoken_result, make_spoken
- from random import randint
- from core.respone_format import *
- router = APIRouter()
- @router.post("/spoken_language")
- async def post_article(request: Request, url=Form(""), file: UploadFile = File(None), text=Form(...)):
- if not url and not file:
- logger.error("错误:请上传mp3文件url参数或者二进制文件file参数")
- return resp_404(message="错误:请上传mp3文件url参数或者二进制文件file参数")
- try:
- task_id = randint(10000, 99999)
- if file:
- file_content = await file.read()
- else:
- file_content = None
- data: dict = make_spoken(task_id, url, file_content, text)
- if data:
- logger.success(f"完成spoken_language请求:{data}")
- return data
- except Exception as e:
- log_err_e(e, msg="口语评测接口")
- return resp_500(message=f"{type(e).__name__},{e}")
|