diff --git a/config.ini b/config.ini index e8fbd0b..389bead 100644 --- a/config.ini +++ b/config.ini @@ -17,6 +17,7 @@ retry=3 [Name_Rule] location_rule=actor+'/'+number naming_rule=number+'-'+title +max_title_len= 50 [update] update_check=1 diff --git a/config.py b/config.py index 77865ef..903fd5d 100644 --- a/config.py +++ b/config.py @@ -52,6 +52,15 @@ class Config: def location_rule(self) -> str: return self.conf.get("Name_Rule", "location_rule") + + def max_title_len(self) -> int: + """ + Maximum title length + """ + try: + return self.conf.getint("Name_Rule", "max_title_len") + except: + return 50 def update_check(self) -> bool: try: @@ -102,6 +111,7 @@ class Config: conf.add_section(sec3) conf.set(sec3, "location_rule", "actor + '/' + number") conf.set(sec3, "naming_rule", "number + '-' + title") + conf.set(sec3, "max_title_len", "50") sec4 = "update" conf.add_section(sec4) diff --git a/core.py b/core.py index 81f2433..0eabf54 100755 --- a/core.py +++ b/core.py @@ -196,8 +196,10 @@ def get_data_from_json(file_number, filepath, conf: config.Config): # 从JSON if 'actor' in conf.location_rule() and len(actor) > 100: print(conf.location_rule()) location_rule = eval(conf.location_rule().replace("actor","'多人作品'")) - if 'title' in conf.location_rule() and len(title) > 100: - location_rule = eval(conf.location_rule().replace("title",'number')) + maxlen = conf.max_title_len() + if 'title' in conf.location_rule() and len(title) > maxlen: + shorttitle = title[0:maxlen] + location_rule = location_rule.replace(title, shorttitle) # 返回处理后的json_data json_data['title'] = title