From 5e06444cccd3a50506d2f293bf31986a5e2acd67 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Sat, 19 Aug 2023 09:33:46 +0800 Subject: [PATCH] =?UTF-8?q?fix=20#175=20=E8=AE=A2=E9=98=85=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E6=80=BB=E9=9B=86=E6=95=B0=E5=90=8E=E7=BC=BA=E5=A4=B1?= =?UTF-8?q?=E9=9B=86=E6=95=B0=E6=9C=AA=E6=9B=B4=E6=96=B0=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98=20fix=20#174?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/endpoints/subscribe.py | 7 +++++++ app/core/meta/metabase.py | 24 +++++++----------------- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/app/api/endpoints/subscribe.py b/app/api/endpoints/subscribe.py index 38bf4c0c..2e98d46e 100644 --- a/app/api/endpoints/subscribe.py +++ b/app/api/endpoints/subscribe.py @@ -99,7 +99,14 @@ def update_subscribe( # 避免更新缺失集数 subscribe_dict = subscribe_in.dict() if not subscribe_in.lack_episode: + # 没有缺失集数时,缺失集数清空,避免更新为0 subscribe_dict.pop("lack_episode") + elif subscribe_in.total_episode: + # 总集数增加时,缺失集数也要增加 + if subscribe_in.total_episode > (subscribe.total_episode or 0): + subscribe_dict["lack_episode"] = (subscribe.lack_episode + + (subscribe_in.total_episode + - (subscribe.total_episode or 0))) subscribe.update(db, subscribe_dict) return schemas.Response(success=True) diff --git a/app/core/meta/metabase.py b/app/core/meta/metabase.py index c5571fd9..a1a55224 100644 --- a/app/core/meta/metabase.py +++ b/app/core/meta/metabase.py @@ -459,28 +459,18 @@ class MetaBase(object): # 年份 if not self.year: self.year = meta.year - # 开始季 - if not self.begin_season: + # 季 + if (self.type == MediaType.TV + and not self.season): self.begin_season = meta.begin_season - # 结束季 - if not self.end_season: self.end_season = meta.end_season - # 总季数 - if self.begin_season and self.end_season: - self.total_season = (self.end_season - self.begin_season) + 1 - elif self.begin_season: - self.total_season = 1 + self.total_season = meta.total_season # 开始集 - if not self.begin_episode: + if (self.type == MediaType.TV + and not self.episode): self.begin_episode = meta.begin_episode - # 结束集 - if not self.end_episode: self.end_episode = meta.end_episode - # 总集数 - if self.begin_episode and self.end_episode: - self.total_episode = (self.end_episode - self.begin_episode) + 1 - elif self.begin_episode: - self.total_episode = 1 + self.total_episode = meta.total_episode # 版本 if not self.resource_type: self.resource_type = meta.resource_type