From 15006418765a4614b05a91eb18b2aebbbcf8f4ca Mon Sep 17 00:00:00 2001 From: Rewrite0 Date: Fri, 31 May 2024 16:33:26 +0800 Subject: [PATCH 01/28] ci: modify process --- .github/workflows/build.yml | 14 ++++++-------- webui/package.json | 3 ++- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 001ea6db..97365eac 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -63,7 +63,7 @@ jobs: - name: build test run: | - cd webui && pnpm vue-tsc --noEmit + cd webui && pnpm test:build version-info: runs-on: ubuntu-latest @@ -116,7 +116,7 @@ jobs: build-webui: runs-on: ubuntu-latest - needs: [ test, version-info ] + needs: [test, webui-test, version-info] if: ${{ needs.version-info.outputs.release == 1 || needs.version-info.outputs.dev == 1 }} steps: - name: Checkout @@ -161,7 +161,7 @@ jobs: build-docker: runs-on: ubuntu-latest - needs: [ build-webui, version-info ] + needs: [build-webui, version-info] steps: - name: Checkout uses: actions/checkout@v4 @@ -264,7 +264,7 @@ jobs: release: runs-on: ubuntu-latest - needs: [ build-docker, version-info ] + needs: [build-docker, version-info] if: ${{ needs.version-info.outputs.release == 1 }} outputs: url: ${{ steps.release.outputs.url }} @@ -297,8 +297,7 @@ jobs: - name: Copy requirements.txt working-directory: ./backend - run: - cp requirements.txt src/requirements.txt + run: cp requirements.txt src/requirements.txt - name: Zip app run: | @@ -330,10 +329,9 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.ACCESS_TOKEN }} - telegram: runs-on: ubuntu-latest - needs: [ release ] + needs: [release] steps: - name: send telegram message on push uses: appleboy/telegram-action@master diff --git a/webui/package.json b/webui/package.json index 8fdf87d1..1fbf5d99 100644 --- a/webui/package.json +++ b/webui/package.json @@ -5,7 +5,8 @@ "private": true, "scripts": { "prepare": "cd .. && husky install ./webui/.husky", - "build": "vue-tsc --noEmit && vite build", + "test:build": "vue-tsc --noEmit", + "build": "vite build", "dev": "vite", "format": "prettier --write .", "format:check": "prettier --check .", From 29f5617e786a42b65d280bcb32d366fcdc1cb366 Mon Sep 17 00:00:00 2001 From: KotaHv <92137267+KotaHv@users.noreply.github.com> Date: Tue, 11 Jun 2024 01:15:12 +0800 Subject: [PATCH 02/28] fix: changed the global RSS parser filter requires program restart to take effect --- backend/src/module/network/request_contents.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backend/src/module/network/request_contents.py b/backend/src/module/network/request_contents.py index 05abca02..a5705066 100644 --- a/backend/src/module/network/request_contents.py +++ b/backend/src/module/network/request_contents.py @@ -15,7 +15,7 @@ class RequestContent(RequestURL): def get_torrents( self, _url: str, - _filter: str = "|".join(settings.rss_parser.filter), + _filter: str = None, limit: int = None, retry: int = 3, ) -> list[Torrent]: @@ -23,6 +23,8 @@ class RequestContent(RequestURL): if soup: torrent_titles, torrent_urls, torrent_homepage = rss_parser(soup) torrents: list[Torrent] = [] + if _filter is None: + _filter = "|".join(settings.rss_parser.filter) for _title, torrent_url, homepage in zip( torrent_titles, torrent_urls, torrent_homepage ): From 89f0754d69712706673bf864225bf502230a406f Mon Sep 17 00:00:00 2001 From: Jeremy-Hibiki Date: Sun, 14 Jul 2024 17:44:40 +0800 Subject: [PATCH 03/28] fix: fix multi-line title post-processing in raw_parser close #679, #794 related pr #685 --- .../src/module/parser/analyser/raw_parser.py | 2 +- backend/src/test/test_raw_parser.py | 20 +++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/backend/src/module/parser/analyser/raw_parser.py b/backend/src/module/parser/analyser/raw_parser.py index 0c8e036f..9a896b63 100644 --- a/backend/src/module/parser/analyser/raw_parser.py +++ b/backend/src/module/parser/analyser/raw_parser.py @@ -131,7 +131,7 @@ def clean_sub(sub: str | None) -> str | None: def process(raw_title: str): - raw_title = raw_title.strip().replace("\n", "") + raw_title = raw_title.strip().replace("\n", " ") content_title = pre_process(raw_title) # 预处理标题 group = get_group(content_title) diff --git a/backend/src/test/test_raw_parser.py b/backend/src/test/test_raw_parser.py index 574f38a5..8ebf6cb6 100644 --- a/backend/src/test/test_raw_parser.py +++ b/backend/src/test/test_raw_parser.py @@ -2,6 +2,26 @@ from module.parser.analyser import raw_parser def test_raw_parser(): + # Issue #794, RSS link: https://mikanani.me/RSS/Bangumi?bangumiId=3367&subgroupid=370 + content = "[喵萌奶茶屋&LoliHouse] 鹿乃子乃子乃子虎视眈眈 / Shikanoko Nokonoko Koshitantan\n- 01 [WebRip 1080p HEVC-10bit AAC][简繁内封字幕]" + info = raw_parser(content) + assert info.group == "喵萌奶茶屋&LoliHouse" + assert info.title_zh == "鹿乃子乃子乃子虎视眈眈" + assert info.title_en == "Shikanoko Nokonoko Koshitantan" + assert info.resolution == "1080p" + assert info.episode == 1 + assert info.season == 1 + + # Issue #679, RSS link: https://mikanani.me/RSS/Bangumi?bangumiId=3225&subgroupid=370 + content = "[LoliHouse] 轮回七次的反派大小姐,在前敌国享受随心所欲的新婚生活\n / 7th Time Loop - 12 [WebRip 1080p HEVC-10bit AAC][简繁内封字幕][END]" + info = raw_parser(content) + assert info.group == "LoliHouse" + assert info.title_zh == "轮回七次的反派大小姐,在前敌国享受随心所欲的新婚生活" + assert info.title_en == "7th Time Loop" + assert info.resolution == "1080p" + assert info.episode == 12 + assert info.season == 1 + content = "【幻樱字幕组】【4月新番】【古见同学有交流障碍症 第二季 Komi-san wa, Komyushou Desu. S02】【22】【GB_MP4】【1920X1080】" info = raw_parser(content) assert info.title_en == "Komi-san wa, Komyushou Desu." From 6f4394958599f1ef2e85590c9764eb24e019c31d Mon Sep 17 00:00:00 2001 From: KotaHv <92137267+KotaHv@users.noreply.github.com> Date: Wed, 24 Jul 2024 13:53:34 +0800 Subject: [PATCH 04/28] fix: Resolve issue #805 --- backend/src/module/parser/analyser/torrent_parser.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/backend/src/module/parser/analyser/torrent_parser.py b/backend/src/module/parser/analyser/torrent_parser.py index ad54cca5..581ca098 100644 --- a/backend/src/module/parser/analyser/torrent_parser.py +++ b/backend/src/module/parser/analyser/torrent_parser.py @@ -11,8 +11,8 @@ PLATFORM = "Unix" RULES = [ r"(.*) - (\d{1,4}(?!\d|p)|\d{1,4}\.\d{1,2}(?!\d|p))(?:v\d{1,2})?(?: )?(?:END)?(.*)", r"(.*)[\[\ E](\d{1,4}|\d{1,4}\.\d{1,2})(?:v\d{1,2})?(?: )?(?:END)?[\]\ ](.*)", - r"(.*)\[(?:第)?(\d*\.*\d*)[话集話](?:END)?\](.*)", - r"(.*)第?(\d*\.*\d*)[话話集](?:END)?(.*)", + r"(.*)\[(?:第)?(\d{1,4}(?:\.\d{1,2})?)[话集話](?:END)?\](.*)", + r"(.*)第?(\d{1,4}(?:\.\d{1,2})?)[话話集](?:END)?(.*)", r"(.*)(?:S\d{2})?EP?(\d+)(.*)", ] @@ -103,3 +103,10 @@ def torrent_parser( episode=episode, suffix=suffix, ) + + +if __name__ == "__main__": + ep = torrent_parser( + "/不时用俄语小声说真心话的邻桌艾莉同学/Season 1/不时用俄语小声说真心话的邻桌艾莉同学 S01E02.mp4" + ) + print(ep) From ee36b05f95f612be18176a9192d621c80152561c Mon Sep 17 00:00:00 2001 From: KotaHv <92137267+KotaHv@users.noreply.github.com> Date: Wed, 24 Jul 2024 14:03:20 +0800 Subject: [PATCH 05/28] fix: support episode as int or float --- backend/src/module/models/torrent.py | 4 ++-- .../module/parser/analyser/torrent_parser.py | 19 +++++++++++++++---- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/backend/src/module/models/torrent.py b/backend/src/module/models/torrent.py index e4727202..a8cbef75 100644 --- a/backend/src/module/models/torrent.py +++ b/backend/src/module/models/torrent.py @@ -23,7 +23,7 @@ class EpisodeFile(BaseModel): group: str | None = Field(None) title: str = Field(...) season: int = Field(...) - episode: int = Field(None) + episode: int | float = Field(None) suffix: str = Field(..., regex=r"\.(mkv|mp4|MKV|MP4)$") @@ -32,6 +32,6 @@ class SubtitleFile(BaseModel): group: str | None = Field(None) title: str = Field(...) season: int = Field(...) - episode: int = Field(None) + episode: int | float = Field(None) language: str = Field(..., regex=r"(zh|zh-tw)") suffix: str = Field(..., regex=r"\.(ass|srt|ASS|SRT)$") diff --git a/backend/src/module/parser/analyser/torrent_parser.py b/backend/src/module/parser/analyser/torrent_parser.py index 581ca098..ebb0b4d3 100644 --- a/backend/src/module/parser/analyser/torrent_parser.py +++ b/backend/src/module/parser/analyser/torrent_parser.py @@ -9,11 +9,11 @@ logger = logging.getLogger(__name__) PLATFORM = "Unix" RULES = [ - r"(.*) - (\d{1,4}(?!\d|p)|\d{1,4}\.\d{1,2}(?!\d|p))(?:v\d{1,2})?(?: )?(?:END)?(.*)", - r"(.*)[\[\ E](\d{1,4}|\d{1,4}\.\d{1,2})(?:v\d{1,2})?(?: )?(?:END)?[\]\ ](.*)", + r"(.*) - (\d{1,4}(?:\.\d{1,2})?(?!\d|p))(?:v\d{1,2})?(?: )?(?:END)?(.*)", + r"(.*)[\[\ E](\d{1,4}(?:\.\d{1,2})?)(?:v\d{1,2})?(?: )?(?:END)?[\]\ ](.*)", r"(.*)\[(?:第)?(\d{1,4}(?:\.\d{1,2})?)[话集話](?:END)?\](.*)", r"(.*)第?(\d{1,4}(?:\.\d{1,2})?)[话話集](?:END)?(.*)", - r"(.*)(?:S\d{2})?EP?(\d+)(.*)", + r"(.*)(?:S\d{2})?EP?(\d{1,4}(?:\.\d{1,2})?)(.*)", ] SUBTITLE_LANG = { @@ -81,7 +81,7 @@ def torrent_parser( title, season = get_season_and_title(title) else: title, _ = get_season_and_title(title) - episode = int(match_obj.group(2)) + episode = match_obj.group(2) suffix = Path(torrent_path).suffix if file_type == "media": return EpisodeFile( @@ -110,3 +110,14 @@ if __name__ == "__main__": "/不时用俄语小声说真心话的邻桌艾莉同学/Season 1/不时用俄语小声说真心话的邻桌艾莉同学 S01E02.mp4" ) print(ep) + + ep = torrent_parser( + "/downloads/Bangumi/关于我转生变成史莱姆这档事 (2018)/Season 3/[ANi] 關於我轉生變成史萊姆這檔事 第三季 - 48.5 [1080P][Baha][WEB-DL][AAC AVC][CHT].mp4" + ) + print(ep) + + ep = torrent_parser( + "/downloads/Bangumi/关于我转生变成史莱姆这档事 (2018)/Season 3/[ANi] 關於我轉生變成史萊姆這檔事 第三季 - 48.5 [1080P][Baha][WEB-DL][AAC AVC][CHT].srt", + file_type="subtitle", + ) + print(ep) From 2b6fa65a9f17ad604eba492432e825720461870f Mon Sep 17 00:00:00 2001 From: KotaHv <92137267+KotaHv@users.noreply.github.com> Date: Wed, 24 Jul 2024 15:11:05 +0800 Subject: [PATCH 06/28] test: add new cases for test_torrent_parser --- backend/src/test/test_torrent_parser.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/backend/src/test/test_torrent_parser.py b/backend/src/test/test_torrent_parser.py index 10e6a546..f46bb023 100644 --- a/backend/src/test/test_torrent_parser.py +++ b/backend/src/test/test_torrent_parser.py @@ -72,6 +72,25 @@ def test_torrent_parser(): assert bf.season == 1 assert bf.episode == 6 + file_name = "不时用俄语小声说真心话的邻桌艾莉同学 S01E02.mp4" + bf = torrent_parser(file_name) + assert bf.title == "不时用俄语小声说真心话的邻桌艾莉同学" + assert bf.season == 1 + assert bf.episode == 2 + + file_name = "[ANi] 關於我轉生變成史萊姆這檔事 第三季 - 48.5 [1080P][Baha][WEB-DL][AAC AVC][CHT].mp4" + bf = torrent_parser(file_name, season=3) + assert bf.title == "關於我轉生變成史萊姆這檔事 第三季" + assert bf.season == 3 + assert bf.episode == 48.5 + + file_name = "[ANi] 關於我轉生變成史萊姆這檔事 第三季 - 48.5 [1080P][Baha][WEB-DL][AAC AVC][CHT].srt" + sf = torrent_parser(file_name, season=3, file_type="subtitle") + assert sf.title == "關於我轉生變成史萊姆這檔事 第三季" + assert sf.episode == 48.5 + assert sf.season == 3 + assert sf.language == "zh-tw" + class TestGetPathBasename: def test_regular_path(self): From bbb19b3002cac83d33030d29bb462387e42db161 Mon Sep 17 00:00:00 2001 From: KotaHv <92137267+KotaHv@users.noreply.github.com> Date: Wed, 24 Jul 2024 13:53:34 +0800 Subject: [PATCH 07/28] fix: Resolve issue #805 --- backend/src/module/parser/analyser/torrent_parser.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/backend/src/module/parser/analyser/torrent_parser.py b/backend/src/module/parser/analyser/torrent_parser.py index ad54cca5..581ca098 100644 --- a/backend/src/module/parser/analyser/torrent_parser.py +++ b/backend/src/module/parser/analyser/torrent_parser.py @@ -11,8 +11,8 @@ PLATFORM = "Unix" RULES = [ r"(.*) - (\d{1,4}(?!\d|p)|\d{1,4}\.\d{1,2}(?!\d|p))(?:v\d{1,2})?(?: )?(?:END)?(.*)", r"(.*)[\[\ E](\d{1,4}|\d{1,4}\.\d{1,2})(?:v\d{1,2})?(?: )?(?:END)?[\]\ ](.*)", - r"(.*)\[(?:第)?(\d*\.*\d*)[话集話](?:END)?\](.*)", - r"(.*)第?(\d*\.*\d*)[话話集](?:END)?(.*)", + r"(.*)\[(?:第)?(\d{1,4}(?:\.\d{1,2})?)[话集話](?:END)?\](.*)", + r"(.*)第?(\d{1,4}(?:\.\d{1,2})?)[话話集](?:END)?(.*)", r"(.*)(?:S\d{2})?EP?(\d+)(.*)", ] @@ -103,3 +103,10 @@ def torrent_parser( episode=episode, suffix=suffix, ) + + +if __name__ == "__main__": + ep = torrent_parser( + "/不时用俄语小声说真心话的邻桌艾莉同学/Season 1/不时用俄语小声说真心话的邻桌艾莉同学 S01E02.mp4" + ) + print(ep) From f61ff16e91fd4fb976a794d1fc1140903c039443 Mon Sep 17 00:00:00 2001 From: KotaHv <92137267+KotaHv@users.noreply.github.com> Date: Wed, 24 Jul 2024 14:03:20 +0800 Subject: [PATCH 08/28] fix: support episode as int or float --- backend/src/module/models/torrent.py | 4 ++-- .../module/parser/analyser/torrent_parser.py | 19 +++++++++++++++---- 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/backend/src/module/models/torrent.py b/backend/src/module/models/torrent.py index e4727202..a8cbef75 100644 --- a/backend/src/module/models/torrent.py +++ b/backend/src/module/models/torrent.py @@ -23,7 +23,7 @@ class EpisodeFile(BaseModel): group: str | None = Field(None) title: str = Field(...) season: int = Field(...) - episode: int = Field(None) + episode: int | float = Field(None) suffix: str = Field(..., regex=r"\.(mkv|mp4|MKV|MP4)$") @@ -32,6 +32,6 @@ class SubtitleFile(BaseModel): group: str | None = Field(None) title: str = Field(...) season: int = Field(...) - episode: int = Field(None) + episode: int | float = Field(None) language: str = Field(..., regex=r"(zh|zh-tw)") suffix: str = Field(..., regex=r"\.(ass|srt|ASS|SRT)$") diff --git a/backend/src/module/parser/analyser/torrent_parser.py b/backend/src/module/parser/analyser/torrent_parser.py index 581ca098..ebb0b4d3 100644 --- a/backend/src/module/parser/analyser/torrent_parser.py +++ b/backend/src/module/parser/analyser/torrent_parser.py @@ -9,11 +9,11 @@ logger = logging.getLogger(__name__) PLATFORM = "Unix" RULES = [ - r"(.*) - (\d{1,4}(?!\d|p)|\d{1,4}\.\d{1,2}(?!\d|p))(?:v\d{1,2})?(?: )?(?:END)?(.*)", - r"(.*)[\[\ E](\d{1,4}|\d{1,4}\.\d{1,2})(?:v\d{1,2})?(?: )?(?:END)?[\]\ ](.*)", + r"(.*) - (\d{1,4}(?:\.\d{1,2})?(?!\d|p))(?:v\d{1,2})?(?: )?(?:END)?(.*)", + r"(.*)[\[\ E](\d{1,4}(?:\.\d{1,2})?)(?:v\d{1,2})?(?: )?(?:END)?[\]\ ](.*)", r"(.*)\[(?:第)?(\d{1,4}(?:\.\d{1,2})?)[话集話](?:END)?\](.*)", r"(.*)第?(\d{1,4}(?:\.\d{1,2})?)[话話集](?:END)?(.*)", - r"(.*)(?:S\d{2})?EP?(\d+)(.*)", + r"(.*)(?:S\d{2})?EP?(\d{1,4}(?:\.\d{1,2})?)(.*)", ] SUBTITLE_LANG = { @@ -81,7 +81,7 @@ def torrent_parser( title, season = get_season_and_title(title) else: title, _ = get_season_and_title(title) - episode = int(match_obj.group(2)) + episode = match_obj.group(2) suffix = Path(torrent_path).suffix if file_type == "media": return EpisodeFile( @@ -110,3 +110,14 @@ if __name__ == "__main__": "/不时用俄语小声说真心话的邻桌艾莉同学/Season 1/不时用俄语小声说真心话的邻桌艾莉同学 S01E02.mp4" ) print(ep) + + ep = torrent_parser( + "/downloads/Bangumi/关于我转生变成史莱姆这档事 (2018)/Season 3/[ANi] 關於我轉生變成史萊姆這檔事 第三季 - 48.5 [1080P][Baha][WEB-DL][AAC AVC][CHT].mp4" + ) + print(ep) + + ep = torrent_parser( + "/downloads/Bangumi/关于我转生变成史莱姆这档事 (2018)/Season 3/[ANi] 關於我轉生變成史萊姆這檔事 第三季 - 48.5 [1080P][Baha][WEB-DL][AAC AVC][CHT].srt", + file_type="subtitle", + ) + print(ep) From 879fd6b26dcef4750461976625fd3801f7d72473 Mon Sep 17 00:00:00 2001 From: KotaHv <92137267+KotaHv@users.noreply.github.com> Date: Wed, 24 Jul 2024 15:11:05 +0800 Subject: [PATCH 09/28] test: add new cases for test_torrent_parser --- backend/src/test/test_torrent_parser.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/backend/src/test/test_torrent_parser.py b/backend/src/test/test_torrent_parser.py index 10e6a546..f46bb023 100644 --- a/backend/src/test/test_torrent_parser.py +++ b/backend/src/test/test_torrent_parser.py @@ -72,6 +72,25 @@ def test_torrent_parser(): assert bf.season == 1 assert bf.episode == 6 + file_name = "不时用俄语小声说真心话的邻桌艾莉同学 S01E02.mp4" + bf = torrent_parser(file_name) + assert bf.title == "不时用俄语小声说真心话的邻桌艾莉同学" + assert bf.season == 1 + assert bf.episode == 2 + + file_name = "[ANi] 關於我轉生變成史萊姆這檔事 第三季 - 48.5 [1080P][Baha][WEB-DL][AAC AVC][CHT].mp4" + bf = torrent_parser(file_name, season=3) + assert bf.title == "關於我轉生變成史萊姆這檔事 第三季" + assert bf.season == 3 + assert bf.episode == 48.5 + + file_name = "[ANi] 關於我轉生變成史萊姆這檔事 第三季 - 48.5 [1080P][Baha][WEB-DL][AAC AVC][CHT].srt" + sf = torrent_parser(file_name, season=3, file_type="subtitle") + assert sf.title == "關於我轉生變成史萊姆這檔事 第三季" + assert sf.episode == 48.5 + assert sf.season == 3 + assert sf.language == "zh-tw" + class TestGetPathBasename: def test_regular_path(self): From cbc3f1f91e2a48558a69c165ae18c31f475b65ec Mon Sep 17 00:00:00 2001 From: EstrellaXD Date: Sun, 15 Sep 2024 11:22:01 +0800 Subject: [PATCH 10/28] fix: temp fix ab cannot startup without qb live. Close #839 --- backend/src/module/api/program.py | 2 +- backend/src/module/core/program.py | 44 ++++++++++++++---------------- 2 files changed, 21 insertions(+), 25 deletions(-) diff --git a/backend/src/module/api/program.py b/backend/src/module/api/program.py index e750f3d2..72803aac 100644 --- a/backend/src/module/api/program.py +++ b/backend/src/module/api/program.py @@ -19,7 +19,7 @@ router = APIRouter(tags=["program"]) @router.on_event("startup") async def startup(): - program.startup() + await program.startup() @router.on_event("shutdown") diff --git a/backend/src/module/core/program.py b/backend/src/module/core/program.py index ee73c5f5..06063450 100644 --- a/backend/src/module/core/program.py +++ b/backend/src/module/core/program.py @@ -1,4 +1,5 @@ import logging +import asyncio from module.conf import VERSION, settings from module.models import ResponseModel @@ -31,7 +32,7 @@ class Program(RenameThread, RSSThread): logger.info("GitHub: https://github.com/EstrellaXD/Auto_Bangumi/") logger.info("Starting AutoBangumi...") - def startup(self): + async def startup(self): self.__start_info() if not self.database: first_run() @@ -49,32 +50,27 @@ class Program(RenameThread, RSSThread): if not self.img_cache: logger.info("[Core] No image cache exists, create image cache.") cache_image() - self.start() + await self.start() - def start(self): + async def start(self): self.stop_event.clear() settings.load() - if self.downloader_status: - if self.enable_renamer: - self.rename_start() - if self.enable_rss: - self.rss_start() - logger.info("Program running.") - return ResponseModel( - status=True, - status_code=200, - msg_en="Program started.", - msg_zh="程序启动成功。", - ) - else: - self.stop_event.set() - logger.warning("Program failed to start.") - return ResponseModel( - status=False, - status_code=406, - msg_en="Program failed to start.", - msg_zh="程序启动失败。", - ) + while not self.downloader_status: + logger.warning("Downloader is not running.") + logger.info("Waiting for downloader to start.") + await asyncio.sleep(30) + if self.enable_renamer: + self.rename_start() + if self.enable_rss: + self.rss_start() + logger.info("Program running.") + return ResponseModel( + status=True, + status_code=200, + msg_en="Program started.", + msg_zh="程序启动成功。", + ) + def stop(self): if self.is_running: From bbbe66cfa0fd8934985fa92426bf1ae072e05ab7 Mon Sep 17 00:00:00 2001 From: Rewrite0 Date: Mon, 17 Jun 2024 10:12:14 +0800 Subject: [PATCH 11/28] fix: mobile end unable to display full screen --- webui/src/pages/index.vue | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/webui/src/pages/index.vue b/webui/src/pages/index.vue index 53f6f88e..347baba3 100644 --- a/webui/src/pages/index.vue +++ b/webui/src/pages/index.vue @@ -27,6 +27,10 @@ definePage({ diff --git a/webui/types/dts/components.d.ts b/webui/types/dts/components.d.ts index 1c967c1a..b3938435 100644 --- a/webui/types/dts/components.d.ts +++ b/webui/types/dts/components.d.ts @@ -19,6 +19,7 @@ declare module '@vue/runtime-core' { AbContainer: typeof import('./../../src/components/ab-container.vue')['default'] AbEditRule: typeof import('./../../src/components/ab-edit-rule.vue')['default'] AbFoldPanel: typeof import('./../../src/components/ab-fold-panel.vue')['default'] + AbImage: typeof import('./../../src/components/ab-image.vue')['default'] AbLabel: typeof import('./../../src/components/ab-label.vue')['default'] AbPageTitle: typeof import('./../../src/components/basic/ab-page-title.vue')['default'] AbPopup: typeof import('./../../src/components/ab-popup.vue')['default'] From 5092c7f093d96c60b59c698611a5bdf71ae9220f Mon Sep 17 00:00:00 2001 From: Rewrite0 Date: Mon, 29 Jul 2024 17:32:43 +0800 Subject: [PATCH 13/28] feat: optimize mobile Bangumi list styles --- webui/src/components/ab-bangumi-card.vue | 168 +++++++++++------------ webui/src/components/basic/ab-tag.vue | 4 +- webui/src/pages/index/bangumi.vue | 11 +- 3 files changed, 89 insertions(+), 94 deletions(-) diff --git a/webui/src/components/ab-bangumi-card.vue b/webui/src/components/ab-bangumi-card.vue index 0fb2adee..b33dfe11 100644 --- a/webui/src/components/ab-bangumi-card.vue +++ b/webui/src/components/ab-bangumi-card.vue @@ -1,10 +1,10 @@