From d4e50509ddcba9535fbf7d95cdb82d77eb2a4fd2 Mon Sep 17 00:00:00 2001 From: HuajunGao <37566089+HuajunGao@users.noreply.github.com> Date: Sat, 28 Feb 2026 12:14:50 +1100 Subject: [PATCH] fix(database): add missing search_official_title method to BangumiDatabase BangumiDatabase.search_official_title() was called in notification/manager.py (_get_poster) but never implemented, causing a RenameThread crash: 'BangumiDatabase' object has no attribute 'search_official_title' Add the method as a simple exact-match lookup on Bangumi.official_title, consistent with the existing search_id / search_rss pattern. --- backend/src/module/database/bangumi.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/backend/src/module/database/bangumi.py b/backend/src/module/database/bangumi.py index 1a7a68ef..07649122 100644 --- a/backend/src/module/database/bangumi.py +++ b/backend/src/module/database/bangumi.py @@ -390,6 +390,10 @@ class BangumiDatabase: logger.debug("[Database] Find bangumi id: %s.", _id) return bangumi + def search_official_title(self, official_title: str) -> Optional[Bangumi]: + statement = select(Bangumi).where(Bangumi.official_title == official_title) + return self.session.execute(statement).scalar_one_or_none() + def search_ids(self, ids: list[int]) -> list[Bangumi]: """Batch lookup multiple bangumi by their IDs.""" if not ids: