tingwu_new
All checks were successful
Deploy to Server / deploy (push) Successful in 16s

This commit is contained in:
jeremygan2021
2026-03-11 20:53:33 +08:00
parent 9fac4c222e
commit 2c17e3bcd7

View File

@@ -183,8 +183,24 @@ class AliyunTingwuService:
# 3. 解析结果 # 3. 解析结果
task_result = data_obj.get('Result', {}) task_result = data_obj.get('Result', {})
# 兼容处理:如果 Result 为空,或者不存在,尝试直接使用 data_obj 作为结果源
# 某些情况下Summarization/AutoChapters 可能直接位于 Data 层级
if not task_result:
task_result = data_obj
# 辅助函数:从源字典或其 Result 子字典中获取字段
def get_data_field(source, key):
# 1. 尝试直接从 task_result 获取 (如果 task_result 就是 Data 本身,这里也会生效)
if isinstance(source, dict) and key in source:
return source[key]
# 2. 如果 source 是 Data尝试从 source['Result'] 获取
if isinstance(source, dict) and 'Result' in source and isinstance(source['Result'], dict):
if key in source['Result']:
return source['Result'][key]
return None
# --- A. 处理逐字稿 (Transcription) --- # --- A. 处理逐字稿 (Transcription) ---
transcription_data = task_result.get('Transcription', {}) transcription_data = get_data_field(task_result, 'Transcription') or get_data_field(data_obj, 'Transcription') or {}
# 处理 URL 下载 # 处理 URL 下载
if isinstance(transcription_data, str) and transcription_data.startswith('http'): if isinstance(transcription_data, str) and transcription_data.startswith('http'):
@@ -233,7 +249,7 @@ class AliyunTingwuService:
task.transcription = "\n".join(full_text_lines) task.transcription = "\n".join(full_text_lines)
# --- B. 处理 AI 总结 (Summarization) --- # --- B. 处理 AI 总结 (Summarization) ---
summarization = task_result.get('Summarization', {}) summarization = get_data_field(task_result, 'Summarization') or get_data_field(data_obj, 'Summarization') or {}
# 处理 URL 下载 # 处理 URL 下载
if isinstance(summarization, str) and summarization.startswith('http'): if isinstance(summarization, str) and summarization.startswith('http'):
@@ -270,12 +286,14 @@ class AliyunTingwuService:
summary_text.append(summarization['Text']) summary_text.append(summarization['Text'])
elif 'Headline' in summarization: elif 'Headline' in summarization:
summary_text.append(summarization['Headline']) summary_text.append(summarization['Headline'])
elif 'ParagraphSummary' in summarization:
summary_text.append(summarization['ParagraphSummary'])
if summary_text: if summary_text:
task.summary = "\n".join(summary_text) task.summary = "\n".join(summary_text)
# --- C. 处理章节 (AutoChapters) --- # --- C. 处理章节 (AutoChapters) ---
auto_chapters = task_result.get('AutoChapters', []) auto_chapters = get_data_field(task_result, 'AutoChapters') or get_data_field(data_obj, 'AutoChapters') or []
# 处理 URL 下载 # 处理 URL 下载
if isinstance(auto_chapters, str) and auto_chapters.startswith('http'): if isinstance(auto_chapters, str) and auto_chapters.startswith('http'):