From 396fd73f9d08b530b9518361a42d5bdd176411df Mon Sep 17 00:00:00 2001 From: EstrellaXD Date: Thu, 7 Sep 2023 18:48:34 +0800 Subject: [PATCH] fix: request error bugs. webui: move func to store reduce code in component. --- backend/src/module/manager/torrent.py | 5 +- .../src/module/network/request_contents.py | 12 +++-- webui/src/components/ab-bangumi-card.vue | 10 ++++ webui/src/components/basic/ab-search.vue | 48 ++++++------------- webui/src/components/basic/ab-tag.vue | 2 +- webui/src/components/layout/ab-topbar.vue | 1 - webui/src/i18n/en.json | 3 ++ webui/src/i18n/zh-CN.json | 5 +- webui/src/store/search.ts | 39 +++++++++++++-- 9 files changed, 79 insertions(+), 46 deletions(-) diff --git a/backend/src/module/manager/torrent.py b/backend/src/module/manager/torrent.py index 6ddfa9bc..05b74bf4 100644 --- a/backend/src/module/manager/torrent.py +++ b/backend/src/module/manager/torrent.py @@ -89,9 +89,8 @@ class TorrentManager(Database): ) def enable_rule(self, _id: str | int): - # TODO: to fix search_id - data = self.bangumi.search(int(_id)) - if isinstance(data, Bangumi): + data = self.bangumi.search_id(int(_id)) + if data: data.deleted = False self.bangumi.update(data) logger.info(f"[Manager] Enable rule for {data.official_title}") diff --git a/backend/src/module/network/request_contents.py b/backend/src/module/network/request_contents.py index 1516dade..085fed4f 100644 --- a/backend/src/module/network/request_contents.py +++ b/backend/src/module/network/request_contents.py @@ -37,11 +37,17 @@ class RequestContent(RequestURL): return [] def get_xml(self, _url, retry: int = 3) -> xml.etree.ElementTree.Element: - return xml.etree.ElementTree.fromstring(self.get_url(_url, retry).text) + try: + return xml.etree.ElementTree.fromstring(self.get_url(_url, retry).text) + except ConnectionError: + logger.warning(f"[Network] Failed to get XML: {_url}") # API JSON def get_json(self, _url) -> dict: - return self.get_url(_url).json() + try: + return self.get_url(_url).json() + except ConnectionError: + logger.warning(f"[Network] Failed to get JSON: {_url}") def post_json(self, _url, data: dict) -> dict: return self.post_url(_url, data).json() @@ -63,4 +69,4 @@ class RequestContent(RequestURL): soup = self.get_xml(_url) return soup.find("./channel/title").text except ConnectionError: - logger.warning(f"Failed to get RSS title: {_url}") + logger.warning(f"[Network] Failed to get RSS title: {_url}") diff --git a/webui/src/components/ab-bangumi-card.vue b/webui/src/components/ab-bangumi-card.vue index 771ae10c..418c794f 100644 --- a/webui/src/components/ab-bangumi-card.vue +++ b/webui/src/components/ab-bangumi-card.vue @@ -96,6 +96,16 @@ defineEmits(['click']); :title="bangumi.group_name" type="primary" /> + + diff --git a/webui/src/components/basic/ab-search.vue b/webui/src/components/basic/ab-search.vue index 1749f7c8..bf5dd858 100644 --- a/webui/src/components/basic/ab-search.vue +++ b/webui/src/components/basic/ab-search.vue @@ -1,35 +1,18 @@