修正重复检测提示
This commit is contained in:
+3
-53
@@ -885,56 +885,6 @@ class EFCourseAutopilot:
|
||||
|
||||
return False
|
||||
|
||||
def _save_diagnostic_report(self):
|
||||
"""当检测到重复课程时,保存诊断报告供开发者分析"""
|
||||
import datetime
|
||||
|
||||
report = {
|
||||
"timestamp": datetime.datetime.now().isoformat(),
|
||||
"course_id": self.ctx.course_id,
|
||||
"node_id": self.ctx.node_id,
|
||||
"unit_id": self.ctx.unit_id,
|
||||
"level_id": self.ctx.level_id,
|
||||
"lesson_id": self.lesson.lesson_id,
|
||||
"session_id": self.lesson.session_id,
|
||||
"activities": [],
|
||||
"results": [],
|
||||
}
|
||||
|
||||
for act in self.activities:
|
||||
act_info = {
|
||||
"activity_id": act.activity_id,
|
||||
"tasks": [
|
||||
{
|
||||
"task_id": t.task_id,
|
||||
"task_type": t.task_type,
|
||||
"task_detail": t.task_detail,
|
||||
"expected_response": t.expected_response,
|
||||
}
|
||||
for t in act.tasks
|
||||
],
|
||||
}
|
||||
report["activities"].append(act_info)
|
||||
|
||||
for r in self.results:
|
||||
report["results"].append({
|
||||
"task_id": r.task_id,
|
||||
"task_type": r.task_type,
|
||||
"success": r.success,
|
||||
"skipped": r.skipped,
|
||||
"error": r.error,
|
||||
"new_version": r.new_version,
|
||||
})
|
||||
|
||||
safe_cid = self.ctx.course_id[:8] if self.ctx.course_id else "unknown"
|
||||
safe_nid = self.ctx.node_id[:8] if self.ctx.node_id else "unknown"
|
||||
filename = f"diagnostic_{safe_cid}_{safe_nid}_{int(time.time())}.json"
|
||||
|
||||
with open(filename, "w") as f:
|
||||
json.dump(report, f, ensure_ascii=False, indent=2)
|
||||
|
||||
self._log(f"\n 诊断报告已保存至: {filename}")
|
||||
self._log(f" 请将此文件提供给开发者以优化对新课程的支持")
|
||||
|
||||
# --------------------------------------------------------
|
||||
# 主流程
|
||||
@@ -980,9 +930,9 @@ class EFCourseAutopilot:
|
||||
if lesson_key in self._processed_lessons:
|
||||
self.repeat_detected = True
|
||||
self._log("\n⚠️ 检测到重复课程!该课程已处理过但未能晋级。")
|
||||
self._log(" 请手动登录平台检查课程状态,或联系开发者分析。")
|
||||
self._save_diagnostic_report()
|
||||
self._log(f" 诊断文件已保存,请提供给开发者")
|
||||
self._log(" 请手动完成此课程,处理方式二选一:")
|
||||
self._log(" ① 打开F12录制HAR,从课程列表到学习完成的全流程,将har文件发给开发者优化")
|
||||
self._log(" ② 直接手动学习完成,完成后本程序将继续处理后续课程")
|
||||
return False
|
||||
|
||||
# 步骤②: 注册课程会话
|
||||
|
||||
Reference in New Issue
Block a user