dynamically generate default config on first run

This commit is contained in:
2020-06-29 23:06:58 +01:00
parent 4606415a38
commit 55d26b541a
8 changed files with 94 additions and 210 deletions

View File

@@ -0,0 +1,32 @@
import configparser
import json
from pathlib import Path
def generate_ini(base_file, ini_file):
"""
Generates .ini file from config-base file.
"""
with open(Path(base_file), 'r') as f:
config_base = json.load(f)
ini = configparser.RawConfigParser(allow_no_value=True)
for section in config_base:
ini.add_section(section)
for entry in config_base[section]:
if 'description' in config_base[section][entry]:
ini.set(section,
'; ' + config_base[section][entry]['description'])
if entry != 'meta':
value = config_base[section][entry]['value']
if isinstance(value, bool):
value = str(value).lower()
else:
value = str(value)
ini.set(section,
entry,
value)
with open(Path(ini_file), 'w') as config_file:
ini.write(config_file)
return True