33 lines
883 B
Python
33 lines
883 B
Python
|
from ConfigParser import ConfigParser
|
||
|
from config import config
|
||
|
import os
|
||
|
|
||
|
def get_settings():
|
||
|
"""
|
||
|
Try to read the settings from file into ConfigParser object.
|
||
|
If the config file isn't found, initialize it and bail.
|
||
|
"""
|
||
|
filename = os.path.join(config.app_dir, 'settings.conf')
|
||
|
settings = ConfigParser()
|
||
|
|
||
|
if os.path.isfile(filename):
|
||
|
settings.read(filename)
|
||
|
else:
|
||
|
init_settings(settings, filename)
|
||
|
|
||
|
return settings
|
||
|
|
||
|
|
||
|
def init_settings(settings, filename):
|
||
|
settings.add_section('ed_companion')
|
||
|
settings.add_section('inara')
|
||
|
settings.set('ed_companion', 'username', '')
|
||
|
settings.set('ed_companion', 'password', '')
|
||
|
settings.set('inara', 'username', '')
|
||
|
settings.set('inara', 'password', '')
|
||
|
|
||
|
with open(filename, 'wb') as f:
|
||
|
settings.write(f)
|
||
|
|
||
|
raise Exception("Missing configuration. Please edit %s and run the program again." % filename)
|