diff --git a/app/plugins/autosignin/__init__.py b/app/plugins/autosignin/__init__.py index 16eef291..04fe6d0b 100644 --- a/app/plugins/autosignin/__init__.py +++ b/app/plugins/autosignin/__init__.py @@ -96,9 +96,10 @@ class AutoSignIn(_PluginBase): self._clean = config.get("clean") # 过滤掉已删除的站点 - all_sites = [site for site in self.sites.get_indexers() if not site.get("public")] + self.__custom_sites() - self._sign_sites = [site.get("id") for site in all_sites if site.get("id") in self._sign_sites] - self._login_sites = [site.get("id") for site in all_sites if site.get("id") in self._login_sites] + all_sites = [site.id for site in self.siteoper.list_order_by_pri()] + [site.get("id") for site in + self.__custom_sites()] + self._sign_sites = [site_id for site_id in all_sites if site_id in self._sign_sites] + self._login_sites = [site_id for site_id in all_sites if site_id in self._login_sites] # 保存配置 self.__update_config() diff --git a/app/plugins/iyuuautoseed/__init__.py b/app/plugins/iyuuautoseed/__init__.py index 0056f2f1..b378c5ac 100644 --- a/app/plugins/iyuuautoseed/__init__.py +++ b/app/plugins/iyuuautoseed/__init__.py @@ -115,8 +115,9 @@ class IYUUAutoSeed(_PluginBase): self._success_caches = [] if self._clearcache else config.get("success_caches") or [] # 过滤掉已删除的站点 - self._sites = [site.get("id") for site in self.sites.get_indexers() if - not site.get("public") and site.get("id") in self._sites] + all_sites = [site.id for site in self.siteoper.list_order_by_pri()] + [site.get("id") for site in + self.__custom_sites()] + self._sites = [site_id for site_id in all_sites if site_id in self._sites] self.__update_config() # 停止现有任务 @@ -175,9 +176,14 @@ class IYUUAutoSeed(_PluginBase): """ 拼装插件配置页面,需要返回两块数据:1、页面配置;2、数据结构 """ + # 站点的可选项(内置站点 + 自定义站点) + customSites = self.__custom_sites() + # 站点的可选项 - site_options = [{"title": site.name, "value": site.id} - for site in self.siteoper.list_order_by_pri()] + site_options = ([{"title": site.name, "value": site.id} + for site in self.siteoper.list_order_by_pri()] + + [{"title": site.get("name"), "value": site.get("id")} + for site in customSites]) return [ { 'component': 'VForm', @@ -986,6 +992,13 @@ class IYUUAutoSeed(_PluginBase): except Exception as e: print(str(e)) + def __custom_sites(self) -> List[Any]: + custom_sites = [] + custom_sites_config = self.get_config("CustomSites") + if custom_sites_config and custom_sites_config.get("enabled"): + custom_sites = custom_sites_config.get("sites") + return custom_sites + @eventmanager.register(EventType.SiteDeleted) def site_deleted(self, event): """ diff --git a/app/plugins/sitestatistic/__init__.py b/app/plugins/sitestatistic/__init__.py index acbae153..9ba89c26 100644 --- a/app/plugins/sitestatistic/__init__.py +++ b/app/plugins/sitestatistic/__init__.py @@ -89,9 +89,9 @@ class SiteStatistic(_PluginBase): self._statistic_sites = config.get("statistic_sites") or [] # 过滤掉已删除的站点 - all_sites = [site for site in self.sites.get_indexers() if not site.get("public")] + self.__custom_sites() - self._statistic_sites = [site.get("id") for site in all_sites if - not site.get("public") and site.get("id") in self._statistic_sites] + all_sites = [site.id for site in self.siteoper.list_order_by_pri()] + [site.get("id") for site in + self.__custom_sites()] + self._statistic_sites = [site_id for site_id in all_sites if site_id in self._statistic_sites] self.__update_config() if self._enabled or self._onlyonce: