diff --git a/app/chain/download.py b/app/chain/download.py index 697dc3a8..adee5b90 100644 --- a/app/chain/download.py +++ b/app/chain/download.py @@ -188,6 +188,9 @@ class DownloadChain(ChainBase): f"Resource download canceled by event: {event_data.source}," f"Reason: {event_data.reason}") return None + # 如果事件修改了下载路径,使用新路径 + if event_data.options and event_data.options.get("save_path"): + save_path = event_data.options.get("save_path") # 补充完整的media数据 if not _media.genre_ids: diff --git a/app/schemas/event.py b/app/schemas/event.py index a880f826..7fe3fddc 100644 --- a/app/schemas/event.py +++ b/app/schemas/event.py @@ -214,7 +214,7 @@ class ResourceDownloadEventData(ChainEventData): channel: Optional[MessageChannel] = Field(None, description="通知渠道") origin: Optional[str] = Field(None, description="来源") downloader: Optional[str] = Field(None, description="下载器") - options: Optional[dict] = Field(None, description="其他参数") + options: Optional[dict] = Field(default={}, description="其他参数") # 输出参数 cancel: bool = Field(default=False, description="是否取消下载")