Merge pull request #1572 from WangEdward/main

This commit is contained in:
jxxghp 2024-03-01 23:01:54 +08:00 committed by GitHub
commit bad37a1846
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -262,10 +262,7 @@ class SubscribeChain(ChainBase):
logger.info(f'订阅 {mediainfo.title_year} {meta.season} 缺失集:{no_exists_info.episodes}') logger.info(f'订阅 {mediainfo.title_year} {meta.season} 缺失集:{no_exists_info.episodes}')
# 站点范围 # 站点范围
if subscribe.sites: sites = self.get_sub_sites(subscribe)
sites = json.loads(subscribe.sites)
else:
sites = None
# 优先级过滤规则 # 优先级过滤规则
if subscribe.best_version: if subscribe.best_version:
@ -422,6 +419,15 @@ class SubscribeChain(ChainBase):
self.torrentschain.refresh(sites=sites) self.torrentschain.refresh(sites=sites)
) )
def get_sub_sites(self, subscribe: Subscribe) -> List[int]:
"""
获取订阅中涉及的站点清单
"""
if subscribe.sites:
return json.loads(subscribe.sites)
# 默认站点
return self.systemconfig.get(SystemConfigKey.RssSites) or []
def get_subscribed_sites(self) -> Optional[List[int]]: def get_subscribed_sites(self) -> Optional[List[int]]:
""" """
获取订阅中涉及的所有站点清单节约资源 获取订阅中涉及的所有站点清单节约资源
@ -434,13 +440,8 @@ class SubscribeChain(ChainBase):
ret_sites = [] ret_sites = []
# 刷新订阅选中的Rss站点 # 刷新订阅选中的Rss站点
for subscribe in subscribes: for subscribe in subscribes:
# 如果有一个订阅没有选择站点,则刷新所有订阅站点
if not subscribe.sites:
return []
# 刷新选中的站点 # 刷新选中的站点
sub_sites = json.loads(subscribe.sites) ret_sites.extend(self.get_sub_sites(subscribe))
if sub_sites:
ret_sites.extend(sub_sites)
# 去重 # 去重
if ret_sites: if ret_sites:
ret_sites = list(set(ret_sites)) ret_sites = list(set(ret_sites))
@ -631,11 +632,10 @@ class SubscribeChain(ChainBase):
continue continue
# 不在订阅站点范围的不处理 # 不在订阅站点范围的不处理
if subscribe.sites: sub_sites = self.get_sub_sites(subscribe)
sub_sites = json.loads(subscribe.sites) if sub_sites and torrent_info.site not in sub_sites:
if sub_sites and torrent_info.site not in sub_sites: logger.info(f"{torrent_info.site_name} - {torrent_info.title} 不符合订阅站点要求")
logger.info(f"{torrent_info.title} 不符合 {torrent_mediainfo.title_year} 订阅站点要求") continue
continue
# 如果是电视剧 # 如果是电视剧
if torrent_mediainfo.type == MediaType.TV: if torrent_mediainfo.type == MediaType.TV: