jellyfin-accounts/jellyfin_accounts/generate_ini.py

33 lines
1019 B
Python
Raw Normal View History

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