From 65e0ff665d6e6ccdc3c469ae38c0227872f76787 Mon Sep 17 00:00:00 2001 From: TachibanaKimika Date: Sun, 6 Aug 2023 16:14:50 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=BB=9F=E4=B8=80=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=A0=BC=E5=BC=8F=20&=20=E5=A4=84=E7=90=86=E6=97=A0=E6=95=88?= =?UTF-8?q?=E6=AD=A3=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.py | 8 ++++---- number_parser.py | 12 ++++++++---- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/config.py b/config.py index 8f3966b..e008de1 100644 --- a/config.py +++ b/config.py @@ -349,11 +349,11 @@ class Config: except: return False - def number_regexs(self) -> list[str]: + def number_regexs(self) -> str: try: - return self.conf.get("Name_Rule", "number_regexs").split() + return self.conf.get("Name_Rule", "number_regexs") except: - return [] + return "" def update_check(self) -> bool: try: @@ -486,7 +486,7 @@ class Config: 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", []) + conf.set(sec4, "number_regexs", "") sec5 = "update" conf.add_section(sec5) diff --git a/number_parser.py b/number_parser.py index 2461936..d54d9a0 100755 --- a/number_parser.py +++ b/number_parser.py @@ -41,10 +41,14 @@ def get_number(debug: bool, file_path: str) -> str: # 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() + if config.getInstance().number_regexs().split().__len__() > 0: + for regex in config.getInstance().number_regexs().split(): + try: + if re.search(regex, filepath): + return re.search(regex, filepath).group() + except Exception as e: + print(f'[-]custom regex exception: {e} [{regex}]') + file_number = get_number_by_dict(filepath) if file_number: return file_number