ordigi/dozo/config.py

46 lines
1.1 KiB
Python
Raw Normal View History

"""Load config file as a singleton."""
from configparser import RawConfigParser
from os import path
from dozo import constants
2021-08-08 12:53:43 +02:00
def write(conf_file, config):
with open(conf_file, 'w') as conf_file:
config.write(conf_file)
return True
return False
2021-08-08 12:53:43 +02:00
def load_config(file):
2021-04-16 20:02:14 +02:00
if not path.exists(file):
return {}
2021-08-08 12:53:43 +02:00
config = RawConfigParser()
config.read(file)
return config
def get_path_definition(config):
"""Returns a list of folder definitions.
Each element in the list represents a folder.
Fallback folders are supported and are nested lists.
:returns: string
"""
if 'Path' in config:
if 'format' in config['Path']:
return config['Path']['format']
elif 'dirs_path' and 'name' in config['Path']:
2021-08-08 12:43:17 +02:00
return config['Path']['dirs_path'] + '/' + config['Path']['name']
2021-08-08 12:43:17 +02:00
return constants.default_path + '/' + constants.default_name
2021-07-31 20:11:39 +02:00
def get_geocoder():
config = load_config(constants.CONFIG_FILE)
if 'Geolocation' in config and 'geocoder' in config['Geolocation']:
return config['Geolocation']['geocoder']
return constants.default_geocoder