mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-05 15:38:19 +08:00
feat: 站点管理增加下载器选择
This commit is contained in:
@@ -225,6 +225,7 @@ class DownloadChain(ChainBase):
|
|||||||
_torrent = context.torrent_info
|
_torrent = context.torrent_info
|
||||||
_media = context.media_info
|
_media = context.media_info
|
||||||
_meta = context.meta_info
|
_meta = context.meta_info
|
||||||
|
_downloader = _torrent.site_downloader
|
||||||
|
|
||||||
# 补充完整的media数据
|
# 补充完整的media数据
|
||||||
if not _media.genre_ids:
|
if not _media.genre_ids:
|
||||||
@@ -287,7 +288,7 @@ class DownloadChain(ChainBase):
|
|||||||
episodes=episodes,
|
episodes=episodes,
|
||||||
download_dir=download_dir,
|
download_dir=download_dir,
|
||||||
category=_media.category,
|
category=_media.category,
|
||||||
downloader=downloader)
|
downloader=downloader or _downloader)
|
||||||
if result:
|
if result:
|
||||||
_downloader, _hash, error_msg = result
|
_downloader, _hash, error_msg = result
|
||||||
else:
|
else:
|
||||||
|
|||||||
@@ -120,6 +120,7 @@ class TorrentsChain(ChainBase, metaclass=Singleton):
|
|||||||
site_ua=site.get("ua") or settings.USER_AGENT,
|
site_ua=site.get("ua") or settings.USER_AGENT,
|
||||||
site_proxy=site.get("proxy"),
|
site_proxy=site.get("proxy"),
|
||||||
site_order=site.get("pri"),
|
site_order=site.get("pri"),
|
||||||
|
site_downloader=site.get("downloader"),
|
||||||
title=item.get("title"),
|
title=item.get("title"),
|
||||||
enclosure=item.get("enclosure"),
|
enclosure=item.get("enclosure"),
|
||||||
page_url=item.get("link"),
|
page_url=item.get("link"),
|
||||||
|
|||||||
@@ -23,6 +23,8 @@ class TorrentInfo:
|
|||||||
site_proxy: bool = False
|
site_proxy: bool = False
|
||||||
# 站点优先级
|
# 站点优先级
|
||||||
site_order: int = 0
|
site_order: int = 0
|
||||||
|
# 站点下载器
|
||||||
|
site_downloader: str = None
|
||||||
# 种子名称
|
# 种子名称
|
||||||
title: str = None
|
title: str = None
|
||||||
# 种子副标题
|
# 种子副标题
|
||||||
|
|||||||
@@ -51,6 +51,8 @@ class Site(Base):
|
|||||||
is_active = Column(Boolean(), default=True)
|
is_active = Column(Boolean(), default=True)
|
||||||
# 创建时间
|
# 创建时间
|
||||||
lst_mod_date = Column(String, default=datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
|
lst_mod_date = Column(String, default=datetime.now().strftime("%Y-%m-%d %H:%M:%S"))
|
||||||
|
# 下载器
|
||||||
|
downloader = Column(String)
|
||||||
|
|
||||||
@staticmethod
|
@staticmethod
|
||||||
@db_query
|
@db_query
|
||||||
|
|||||||
@@ -191,6 +191,7 @@ class IndexerModule(_ModuleBase):
|
|||||||
site_ua=site.get("ua"),
|
site_ua=site.get("ua"),
|
||||||
site_proxy=site.get("proxy"),
|
site_proxy=site.get("proxy"),
|
||||||
site_order=site.get("pri"),
|
site_order=site.get("pri"),
|
||||||
|
site_downloader=site.get("downloader"),
|
||||||
**result) for result in result_array]
|
**result) for result in result_array]
|
||||||
# 去重
|
# 去重
|
||||||
return __remove_duplicate(torrents)
|
return __remove_duplicate(torrents)
|
||||||
@@ -199,7 +200,7 @@ class IndexerModule(_ModuleBase):
|
|||||||
def __spider_search(indexer: CommentedMap,
|
def __spider_search(indexer: CommentedMap,
|
||||||
search_word: str = None,
|
search_word: str = None,
|
||||||
mtype: MediaType = None,
|
mtype: MediaType = None,
|
||||||
page: int = 0) -> (bool, List[dict]):
|
page: int = 0) -> Tuple[bool, List[dict]]:
|
||||||
"""
|
"""
|
||||||
根据关键字搜索单个站点
|
根据关键字搜索单个站点
|
||||||
:param: indexer: 站点配置
|
:param: indexer: 站点配置
|
||||||
|
|||||||
@@ -44,6 +44,8 @@ class Site(BaseModel):
|
|||||||
limit_seconds: Optional[int] = None
|
limit_seconds: Optional[int] = None
|
||||||
# 是否启用
|
# 是否启用
|
||||||
is_active: Optional[bool] = True
|
is_active: Optional[bool] = True
|
||||||
|
# 下载器
|
||||||
|
downloader: Optional[str] = None
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
orm_mode = True
|
orm_mode = True
|
||||||
|
|||||||
Reference in New Issue
Block a user