| 1234567891011121314151617181920212223242526272829303132333435363738394041 | import hashlibfrom fastapi import APIRouterfrom routers.asr_client import send_asr_request, send_task_requestfrom routers.database import insert, update, query, Taskrouter = APIRouter(prefix='/asr/task',                   tags=['tengxunyun_script_server'])@router.post('/submit')def task_submit(signature: str, url: str):    json = send_asr_request(url)    task = Task(signature=signature, task_id=json.Data.TaskId, task_result=json.to_json_string(), task_status=1)    insert(task)    return {'code': 0, 'taskId': json.Data.TaskId}@router.post('/result')def task_submit(task_id: int):    json = send_task_request(task_id)    task = query(None, None, task_id)[0]    task.task_status = json.Data.Status    task.task_result = json.to_json_string()    try:        if json.Data.Status == 2:            task.word_text = json.Data.ResultDetail[0].FinalSentence            task.word_split = json.Data.ResultDetail[0].SliceSentence            task.word_text_md5 = hashlib.md5(task.word_text.encode('utf-8')).hexdigest()    except:        # 提取原始文本内容和分词内容发生异常,把 task_status 置为 -1        task.task_status = -1    update(task)    return {'code': 0, 'status': json.Data.StatusStr}@router.post('/list')def task_submit(task_status: int):    task = query(None, task_status, None)    return {'code': 0, 'data': task}
 |