fix(transfer): 修复音乐整理因缺少 tmdb_id 字段崩溃

MusicInfo 不含 tmdb_id 等 60 个影视专用字段,整理链访问
task.mediainfo.tmdb_id 直接 AttributeError,导致无分类音乐自动
整理全部失败。

源头修复:为 domain 与 schemas 两层 MusicInfo 增加 __getattr__
兜底,缺失字段返回 None,避免下游逐点安全访问;dunder 方法
除外以保持 copy/pickle 钩子探测正常。显式声明 recognize_cache_hit
字段保留 getattr(..., False) 默认值语义。
This commit is contained in:
jxxghp
2026-08-15 10:20:04 +08:00
parent 96118e73e7
commit bb63b40213
3 changed files with 27 additions and 0 deletions

View File

@@ -2509,6 +2509,7 @@ class TransferChain(ChainBase, ConfigReloadMixin, metaclass=Singleton):
task.target_storage = task.target_directory.library_storage
if self._requires_automatic_category(task) and not task.mediainfo.category:
# MusicInfo 无 tmdb_id 字段,但模型 __getattr__ 已兜底返回 None
if task.mediainfo.tmdb_id:
error_message = "TMDB 信息未匹配到媒体分类,无法按媒体类别整理"
else: