Movie List
Directory selection
This commit is contained in:
Ruud committed 2011-02-21 22:42:24 +01:00
1 parent 272e0b8527
commit 8682be33fb
27 files changed
+1770 -233

No files matched your search

+22 -12
View File
@@ -27,7 +27,7 @@ class Settings():
return self.p
def sections(self):
return self.s
return self.p.sections()
def connectSignals(self):
signal('settings.register').connect(self.registerDefaults)
@@ -46,24 +46,34 @@ class Settings():
self.save(self)
def set(self, section, option, value):
return self.p.set(section, option, value)
return self.p.set(section, option, self.cleanValue(value))
def get(self, option = '', section = 'global', default = ''):
try:
value = self.p.get(section, option)
if(self.is_int(value)):
return int(value)
if str(value).lower() in self.bool:
return self.bool.get(str(value).lower())
return value if type(value) != str else value.strip()
return self.cleanValue(value)
except:
return default
def save(self, caller):
def cleanValue(self, value):
if(self.is_int(value)):
return int(value)
if str(value).lower() in self.bool:
return self.bool.get(str(value).lower())
return value.strip()
def getValues(self):
values = {}
for section in self.sections():
values[section] = {}
for option in self.p.items(section):
(option_name, option_value) = option
values[section][option_name] = option_value
return values
def save(self, caller = ''):
with open(self.file, 'wb') as configfile:
self.p.write(configfile)
+19 -4
View File
@@ -8,12 +8,14 @@ log = CPLog(__name__)
class SettingsLoader:
configs = {}
sections = {}
def __init__(self, root = ''):
def __init__(self):
self.settings_register = signal('settings.register')
self.settings_save = signal('settings.save')
def load(self, root = ''):
self.paths = {
'plugins' : ('couchpotato.core.plugins', os.path.join(root, 'couchpotato', 'core', 'plugins')),
'providers' : ('couchpotato.core.providers', os.path.join(root, 'couchpotato', 'core', 'providers')),
@@ -42,8 +44,13 @@ class SettingsLoader:
module_name = '%s.%s' % (module, name)
try:
m = getattr(self.loadModule(module_name), name)
(section, options) = m.config
self.settings_register.send(section, options = options, save = save)
for section in m.config:
self.addSection(section['name'], section)
options = {}
for key, option in section['options'].iteritems():
options[key] = option['default']
self.settings_register.send(section['name'], options = options, save = save)
return True
except Exception, e:
@@ -62,3 +69,11 @@ class SettingsLoader:
return m
except:
raise
def addSection(self, section_name, options):
self.sections[section_name] = options
def getSections(self):
return self.sections
settings_loader = SettingsLoader()