Skip to content

Release v8.0.69

Latest

Choose a tag to compare

@Hommy-master Hommy-master released this 22 Jun 12:15

改动说明

概述

  • 本次聚焦 src/utils/draft_downloader.py,提升草稿下载稳定性与效率,重点修复远程素材(如阿里云 OSS 音频)因 URL 污染导致的假 404,并与 desktop-client 行为对齐。

网络请求

  • 新增统一 HTTP 请求头,补充浏览器 User-Agent,与 download.py、desktop-client 保持一致
  • 抽取 _http_get(),草稿文件列表、单文件、远程素材、execute_download 等下载均走同一入口
  • 修正可重试 HTTP 状态码:404 不再重试(对象不存在时重试无意义,避免无效等待)

草稿 JSON 下载优化

  • draft_content.json 与 draft_info.json 内容相同,不再重复下载 draft_info.json
  • 其余文件全部成功后,自动将 draft_content.json 复制为 draft_info.json
  • 路径重写与 URL 素材本地化仅在 draft_content.json 上执行一次,避免重复拉取远程素材

修复 OSS 远程素材 404

  • 根因:JSON 中 materials.*.path 可能含尾部空格、换行、零宽字符等不可见字符,OSS 按错误 object key 返回 404,浏览器因自动裁剪仍可访问
  • 新增 _normalize_http_url(),下载前自动清理首尾空白及 BOM、零宽字符
  • 若 URL 被修正,会输出 WARNING 日志,便于排查数据来源问题

代码结构

  • 新增路径解析、draft_info 判断、content→info 同步等辅助函数,逻辑更清晰
  • 补充单测:请求头、JSON 跳过与复制、URL 规范化、404 不重试等场景

升级建议

  • 若此前因远程音频 404 导致草稿下载失败,建议升级后重试
  • 若仍失败,请检查日志是否出现 Normalized remote material URL,并核对 JSON 中 path 字段来源