From 8e5d7d2e024c83cd8af3ec30cc97cdbbb29c2c5a Mon Sep 17 00:00:00 2001 From: EstrellaXD Date: Tue, 3 Oct 2023 22:46:58 +0800 Subject: [PATCH] fix: collector torrent not added bug. --- backend/src/module/database/bangumi.py | 5 +++++ backend/src/module/manager/collector.py | 2 ++ 2 files changed, 7 insertions(+) diff --git a/backend/src/module/database/bangumi.py b/backend/src/module/database/bangumi.py index 05a7409b..ae4ed366 100644 --- a/backend/src/module/database/bangumi.py +++ b/backend/src/module/database/bangumi.py @@ -14,9 +14,14 @@ class BangumiDatabase: self.session = session def add(self, data: Bangumi): + statement = select(Bangumi).where(Bangumi.title_raw == data.title_raw) + bangumi = self.session.exec(statement).first() + if bangumi: + return False self.session.add(data) self.session.commit() logger.debug(f"[Database] Insert {data.official_title} into database.") + return True def add_all(self, datas: list[Bangumi]): self.session.add_all(datas) diff --git a/backend/src/module/manager/collector.py b/backend/src/module/manager/collector.py index 70df7dbc..4b264b9a 100644 --- a/backend/src/module/manager/collector.py +++ b/backend/src/module/manager/collector.py @@ -22,6 +22,8 @@ class SeasonCollector(DownloadClient): logger.info( f"Collections of {bangumi.official_title} Season {bangumi.season} completed." ) + for torrent in torrents: + torrent.downloaded = True bangumi.eps_collect = True if engine.bangumi.update(bangumi): engine.bangumi.add(bangumi)