diff --git a/config.ini b/config.ini index 7aa6487..24aedfb 100755 --- a/config.ini +++ b/config.ini @@ -53,6 +53,9 @@ naming_rule = number+'-'+title max_title_len = 50 ; 刮削后图片是否命名为番号 image_naming_with_number = 0 +; 番号大写(仅在写入文件时变大写, 搜索时不影响) +number_uppercase = 0 +number_regexs = [update] update_check = 1 diff --git a/config.py b/config.py index 897df66..8f3966b 100644 --- a/config.py +++ b/config.py @@ -343,6 +343,18 @@ class Config: except: return False + def number_uppercase(self) -> bool: + try: + return self.conf.getboolean("Name_Rule", "number_uppercase") + except: + return False + + def number_regexs(self) -> list[str]: + try: + return self.conf.get("Name_Rule", "number_regexs").split() + except: + return [] + def update_check(self) -> bool: try: return self.conf.getboolean("update", "update_check") @@ -473,6 +485,8 @@ class Config: conf.set(sec4, "naming_rule", "number + '-' + title") conf.set(sec4, "max_title_len", "50") conf.set(sec4, "image_naming_with_number", "0") + conf.set(sec4, "number_uppercase", "0") + conf.set(sec4, "number_regexs", []) sec5 = "update" conf.add_section(sec5) diff --git a/number_parser.py b/number_parser.py index 6d19c5e..2461936 100755 --- a/number_parser.py +++ b/number_parser.py @@ -40,6 +40,11 @@ def get_number(debug: bool, file_path: str) -> str: filepath = os.path.basename(file_path) # debug True 和 False 两块代码块合并,原因是此模块及函数只涉及字符串计算,没有IO操作,debug on时输出导致异常信息即可 try: + # 先对自定义正则进行匹配 + if config.getInstance().number_regexs(): + for regex in config.getInstance().number_regexs(): + if re.search(regex, filepath): + return re.search(regex, filepath).group() file_number = get_number_by_dict(filepath) if file_number: return file_number diff --git a/scraper.py b/scraper.py index 06a64f8..0bf4cc1 100644 --- a/scraper.py +++ b/scraper.py @@ -120,6 +120,10 @@ def get_data_from_json( series = json_data.get('series') year = json_data.get('year') + + if conf.number_uppercase(): + number = number.upper() + if json_data.get('cover_small'): cover_small = json_data.get('cover_small') else: