mirror of
https://github.com/hrfee/jellyfin-accounts.git
synced 2024-06-29 01:17:45 +02:00
33 lines
1019 B
Python
33 lines
1019 B
Python
|
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
|