diff --git a/src/module/parser/analyser/raw_parser.py b/src/module/parser/analyser/raw_parser.py index 8279f378..68b8eb8f 100644 --- a/src/module/parser/analyser/raw_parser.py +++ b/src/module/parser/analyser/raw_parser.py @@ -1,6 +1,5 @@ import logging import re -from dataclasses import dataclass from module.models import Episode @@ -8,7 +7,7 @@ logger = logging.getLogger(__name__) EPISODE_RE = re.compile(r"\d+") TITLE_RE = re.compile( - r"(.*|\[.*])( -? \d+|\[\d+]|\[\d+.?[vV]\d{1}]|[第]?\d+[话話集]|\[\d+.?END])(.*)" + r"(.*|\[.*])( -? \d+|\[\d+]|\[\d+.?[vV]\d]|[ 第]?\d+[话話集]|\[\d+.?END]|[Ee][Pp]?\d+)(.*)" ) RESOLUTION_RE = re.compile(r"1080|720|2160|4K") SOURCE_RE = re.compile(r"B-Global|[Bb]aha|[Bb]ilibili|AT-X|Web") @@ -81,7 +80,7 @@ def name_process(name: str): name_en, name_zh, name_jp = None, None, None name = name.strip() name = re.sub(r"[((]仅限港澳台地区[))]", "", name) - split = re.split("/|\s{2}|-\s{2}", name) + split = re.split(r"/|\s{2}|-\s{2}", name) while "" in split: split.remove("") if len(split) == 1: diff --git a/src/test/test_rss_parser.py b/src/test/test_rss_parser.py index 3aaf4c6a..a1b5430c 100644 --- a/src/test/test_rss_parser.py +++ b/src/test/test_rss_parser.py @@ -11,4 +11,11 @@ def test_rss_analyser(): assert data.title_raw == "Yamada-kun to Lv999 no Koi wo Suru" assert data.official_title == "和山田谈场 Lv999 的恋爱" - assert data.season == 1 \ No newline at end of file + assert data.season == 1 + + url = "http://dmhy.org/topics/rss/rss.xml?keyword=假面骑士+Geats&sort_id=0&team_id=648&order=date-desc" + data = rss_analyser.rss_to_data(url=url) + + assert data.title_raw == "假面骑士Geats" + assert data.official_title == "假面骑士Geats" + assert data.season == 1