mirror of
https://github.com/LmeSzinc/StarRailCopilot.git
synced 2024-11-23 09:01:45 +00:00
Add: 增加从template.ini更新当前配置的功能
每次增加新功能后, 不用手动修改ini了
This commit is contained in:
parent
ef5885767e
commit
c5f1cc4ffb
@ -12,6 +12,43 @@ from module.logger import logger, pyw_name
|
||||
running = True
|
||||
|
||||
|
||||
def update_config_from_template(config, file):
|
||||
"""
|
||||
Args:
|
||||
config (configparser.ConfigParser):
|
||||
|
||||
Returns:
|
||||
configparser.ConfigParser:
|
||||
"""
|
||||
template = configparser.ConfigParser(interpolation=None)
|
||||
template.read_file(codecs.open(f'./config/template.ini', "r", "utf8"))
|
||||
changed = False
|
||||
# Update section.
|
||||
for section in template.sections():
|
||||
if not config.has_section(section):
|
||||
config.add_section(section)
|
||||
changed = True
|
||||
for section in config.sections():
|
||||
if not template.has_section(section):
|
||||
config.remove_section(section)
|
||||
changed = True
|
||||
# Update option
|
||||
for section in template.sections():
|
||||
for option in template.options(section):
|
||||
if not config.has_option(section, option):
|
||||
config.set(section, option, value=template.get(section, option))
|
||||
changed = True
|
||||
for section in config.sections():
|
||||
for option in config.options(section):
|
||||
if not template.has_option(section, option):
|
||||
config.remove_option(section, option)
|
||||
changed = True
|
||||
# Save
|
||||
if changed:
|
||||
config.write(codecs.open(file, "w+", "utf8"))
|
||||
return config
|
||||
|
||||
|
||||
@Gooey(
|
||||
optional_cols=2,
|
||||
program_name=pyw_name.capitalize(),
|
||||
@ -42,6 +79,8 @@ def main(ini_name=''):
|
||||
shutil.copy('./config/template.ini', config_file)
|
||||
config.read_file(codecs.open(config_file, "r", "utf8"))
|
||||
|
||||
config = update_config_from_template(config, file=config_file)
|
||||
|
||||
event_folder = [dic_eng_to_chi.get(f, f) for f in os.listdir('./campaign') if f.startswith('event_')][::-1]
|
||||
|
||||
saved_config = {}
|
||||
|
Loading…
Reference in New Issue
Block a user