diff --git a/app/core/context.py b/app/core/context.py index 7b568a51..7b47777a 100644 --- a/app/core/context.py +++ b/app/core/context.py @@ -549,6 +549,7 @@ class MediaInfo: dicts["type"] = self.type.value if self.type else None dicts["detail_link"] = self.detail_link dicts["title_year"] = self.title_year + dicts["tmdb_info"]["media_type"] = self.type.value if self.type else None return dicts def clear(self): diff --git a/app/plugins/webhook/__init__.py b/app/plugins/webhook/__init__.py index e7d95604..c38f60f9 100644 --- a/app/plugins/webhook/__init__.py +++ b/app/plugins/webhook/__init__.py @@ -135,10 +135,21 @@ class WebHook(_PluginBase): """ if not self._webhook_url: return + + def __to_dict(event): + result = {} + for key, value in event.items(): + if hasattr(value, 'to_dict'): + result[key] = value.to_dict() + else: + result[key] = str(value) + return result + event_info = { "type": event.event_type, - "data": str(event.event_data) + "data": __to_dict(event.event_data) } + if self._method == 'POST': ret = RequestUtils(content_type="application/json").post_res(self._webhook_url, json=event_info) else: diff --git a/app/schemas/transfer.py b/app/schemas/transfer.py index 7f95b3de..245c0334 100644 --- a/app/schemas/transfer.py +++ b/app/schemas/transfer.py @@ -4,6 +4,7 @@ from typing import Optional from pydantic import BaseModel + class TransferTorrent(BaseModel): """ 待转移任务信息 @@ -51,3 +52,12 @@ class TransferInfo(BaseModel): fail_list: Optional[list] = [] # 错误信息 message: Optional[str] = None + + def to_dict(self): + """ + 返回字典 + """ + dicts = vars(self).copy() # 创建一个字典的副本以避免修改原始数据 + dicts["path"] = str(self.path) if self.path else None + dicts["target_path"] = str(self.target_path) if self.target_path else None + return dicts \ No newline at end of file