From 6afdfa3b9766db85ff3be778cac0c195c4e4cb27 Mon Sep 17 00:00:00 2001 From: thsrite Date: Mon, 21 Aug 2023 11:55:32 +0800 Subject: [PATCH] fix --- app/api/endpoints/site.py | 2 - app/modules/themoviedb/tmdbapi.py | 67 +++++++++++---------------- app/plugins/autosignin/__init__.py | 5 -- app/plugins/sitestatistic/__init__.py | 5 -- 4 files changed, 26 insertions(+), 53 deletions(-) diff --git a/app/api/endpoints/site.py b/app/api/endpoints/site.py index 4564e3a2..901af247 100644 --- a/app/api/endpoints/site.py +++ b/app/api/endpoints/site.py @@ -94,7 +94,6 @@ def delete_site( # 插件站点删除 EventManager().send_event(EventType.SiteDeleted, { - "plugin_id": ['AutoSignIn', 'SiteStatistic'], "site_id": site_id }) return schemas.Response(success=True) @@ -123,7 +122,6 @@ def cookie_cloud_sync(db: Session = Depends(get_db), # 插件站点删除 EventManager().send_event(EventType.SiteDeleted, { - "plugin_id": ['AutoSignIn', 'SiteStatistic'], "site_id": None }) return schemas.Response(success=True, message="站点已重置!") diff --git a/app/modules/themoviedb/tmdbapi.py b/app/modules/themoviedb/tmdbapi.py index 238449cf..4307555f 100644 --- a/app/modules/themoviedb/tmdbapi.py +++ b/app/modules/themoviedb/tmdbapi.py @@ -232,27 +232,21 @@ class TmdbHelper: if self.__compare_names(name, movie.get('original_title')) \ and movie.get('release_date')[0:4] == str(year): return movie + # 匹配别名、译名 + if not movie.get("names"): + movie = self.get_info(mtype=MediaType.MOVIE, tmdbid=movie.get("id")) + if movie and self.__compare_names(name, movie.get("names")): + return movie else: for movie in movies: if self.__compare_names(name, movie.get('title')) \ or self.__compare_names(name, movie.get('original_title')): return movie - # 匹配别名、译名 - index = 0 - for movie in movies: - # 有年份先过滤 - if year: - if not movie.get('release_date'): - continue - if movie.get('release_date')[0:4] != str(year): - continue - index += 1 - if not movie.get("names"): - movie = self.get_info(mtype=MediaType.MOVIE, tmdbid=movie.get("id")) - if movie and self.__compare_names(name, movie.get("names")): - return movie - if index > 5: - break + # 匹配别名、译名 + if not movie.get("names"): + movie = self.get_info(mtype=MediaType.MOVIE, tmdbid=movie.get("id")) + if movie and self.__compare_names(name, movie.get("names")): + return movie return {} def __search_tv_by_name(self, name: str, year: str) -> Optional[dict]: @@ -289,27 +283,22 @@ class TmdbHelper: if self.__compare_names(name, tv.get('original_name')) \ and tv.get('first_air_date')[0:4] == str(year): return tv + # 匹配别名、译名 + if not tv.get("names"): + tv = self.get_info(mtype=MediaType.TV, tmdbid=tv.get("id")) + if tv and self.__compare_names(name, tv.get("names")): + return tv else: for tv in tvs: if self.__compare_names(name, tv.get('name')) \ or self.__compare_names(name, tv.get('original_name')): return tv - # 匹配别名、译名 - index = 0 - for tv in tvs: - # 有年份先过滤 - if year: - if not tv.get('first_air_date'): - continue - if tv.get('first_air_date')[0:4] != str(year): - continue - index += 1 - if not tv.get("names"): - tv = self.get_info(mtype=MediaType.TV, tmdbid=tv.get("id")) - if tv and self.__compare_names(name, tv.get("names")): - return tv - if index > 5: - break + # 匹配别名、译名 + if not tv.get("names"): + tv = self.get_info(mtype=MediaType.TV, tmdbid=tv.get("id")) + if tv and self.__compare_names(name, tv.get("names")): + return tv + return {} def __search_tv_by_season(self, name: str, season_year: str, season_number: int) -> Optional[dict]: @@ -353,12 +342,10 @@ class TmdbHelper: else: # 匹配标题、原标题 for tv in tvs: - # 获取别名 if (self.__compare_names(name, tv.get('name')) or self.__compare_names(name, tv.get('original_name'))) \ and (tv.get('first_air_date') and tv.get('first_air_date')[0:4] == str(season_year)): return tv - # 匹配别名、译名 if not tv.get("names"): tv = self.get_info(mtype=MediaType.TV, tmdbid=tv.get("id")) @@ -431,18 +418,16 @@ class TmdbHelper: if self.__compare_names(name, multi.get('title')) \ or self.__compare_names(name, multi.get('original_title')): return multi - elif multi.get("media_type") == "tv": - if self.__compare_names(name, multi.get('name')) \ - or self.__compare_names(name, multi.get('original_name')): - return multi - # 匹配别名、译名 - for multi in multis[:5]: - if multi.get("media_type") == "movie": + # 匹配别名、译名 if not multi.get("names"): multi = self.get_info(mtype=MediaType.MOVIE, tmdbid=multi.get("id")) if multi and self.__compare_names(name, multi.get("names")): return multi elif multi.get("media_type") == "tv": + if self.__compare_names(name, multi.get('name')) \ + or self.__compare_names(name, multi.get('original_name')): + return multi + # 匹配别名、译名 if not multi.get("names"): multi = self.get_info(mtype=MediaType.TV, tmdbid=multi.get("id")) if multi and self.__compare_names(name, multi.get("names")): diff --git a/app/plugins/autosignin/__init__.py b/app/plugins/autosignin/__init__.py index 0eb5efb3..0bf6ef4b 100644 --- a/app/plugins/autosignin/__init__.py +++ b/app/plugins/autosignin/__init__.py @@ -577,12 +577,7 @@ class AutoSignIn(_PluginBase): """ 删除对应站点选中 """ - plugin_id = event.event_data.get("plugin_id") site_id = event.event_data.get("site_id") - if not plugin_id: - return - if self.__class__.__name__ not in plugin_id: - return config = self.get_config() if config: sign_sites = config.get("sign_sites") diff --git a/app/plugins/sitestatistic/__init__.py b/app/plugins/sitestatistic/__init__.py index 2b6713ff..4e3b56af 100644 --- a/app/plugins/sitestatistic/__init__.py +++ b/app/plugins/sitestatistic/__init__.py @@ -1105,12 +1105,7 @@ class SiteStatistic(_PluginBase): """ 删除对应站点选中 """ - plugin_id = event.event_data.get("plugin_id") site_id = event.event_data.get("site_id") - if not plugin_id: - return - if self.__class__.__name__ not in plugin_id: - return config = self.get_config() if config: statistic_sites = config.get("statistic_sites")