summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar RaNaN <Mast3rRaNaN@hotmail.de> 2010-08-06 19:04:08 +0200
committerGravatar RaNaN <Mast3rRaNaN@hotmail.de> 2010-08-06 19:04:08 +0200
commit5d8963a40c03c9e6f613883f3a0d743892464f01 (patch)
treef5320f2ea78b33bad9bea6c0b145acfc57bd54f5
parentfixes (diff)
downloadpyload-5d8963a40c03c9e6f613883f3a0d743892464f01.tar.xz
settings page working
-rw-r--r--module/web/pyload/views.py57
-rwxr-xr-xpyLoadCore.py14
2 files changed, 45 insertions, 26 deletions
diff --git a/module/web/pyload/views.py b/module/web/pyload/views.py
index c47004a85..21e583348 100644
--- a/module/web/pyload/views.py
+++ b/module/web/pyload/views.py
@@ -216,42 +216,55 @@ def collector(request):
def config(request):
conf = settings.PYLOAD.get_config()
plugin = settings.PYLOAD.get_plugin_config()
+ messages = []
+ for section in chain(conf.itervalues(), plugin.itervalues()):
+ for key, option in section.iteritems():
+ if key == "desc": continue
+
+ if ";" in option["type"]:
+ option["list"] = option["type"].split(";")
+
if request.META.get('REQUEST_METHOD', "GET") == "POST":
errors = []
for key, value in request.POST.iteritems():
if not "|" in key: continue
- skey, okey = key.split("|")[:]
- if conf.has_key(skey):
- if conf[skey].has_key(okey):
- try:
- if str(conf[skey][okey]['value']) != value:
- settings.PYLOAD.set_conf_val(skey, okey, value)
- except Exception, e:
- errors.append("%s | %s : %s" % (skey, okey, e))
+ sec, skey, okey = key.split("|")[:]
+
+ if sec == "General":
+
+ if conf.has_key(skey):
+ if conf[skey].has_key(okey):
+ try:
+ if str(conf[skey][okey]['value']) != value:
+ settings.PYLOAD.set_conf_val(skey, okey, value)
+ except Exception, e:
+ errors.append("%s | %s : %s" % (skey, okey, e))
+ else:
+ continue
+ else:
+ continue
+
+ elif sec == "Plugin":
+ if plugin.has_key(skey):
+ if plugin[skey].has_key(okey):
+ try:
+ if str(plugin[skey][okey]['value']) != value:
+ settings.PYLOAD.set_conf_val(skey, okey, value, "plugin")
+ except Exception, e:
+ errors.append("%s | %s : %s" % (skey, okey, e))
+ else:
+ continue
else:
continue
- else:
- continue
- messages = []
-
if errors:
messages.append(_("Error occured when setting the following options:"))
messages.append("")
messages += errors
else:
messages.append(_("All options were set correctly."))
-
- return render_to_response(join(settings.TEMPLATE, 'settings.html'), RequestContext(request, {'conf': {}, 'errors': messages}, [status_proc]))
-
- for section in chain(conf.itervalues(), plugin.itervalues()):
- for key, option in section.iteritems():
- if key == "desc": continue
-
- if ";" in option["type"]:
- option["list"] = option["type"].split(";")
- return render_to_response(join(settings.TEMPLATE, 'settings.html'), RequestContext(request, {'conf': {'Plugin':plugin, 'General':conf}, 'messages': []}, [status_proc]))
+ return render_to_response(join(settings.TEMPLATE, 'settings.html'), RequestContext(request, {'conf': {'Plugin':plugin, 'General':conf}, 'errors': messages}, [status_proc]))
diff --git a/pyLoadCore.py b/pyLoadCore.py
index d8fb1c965..86e15b19f 100755
--- a/pyLoadCore.py
+++ b/pyLoadCore.py
@@ -422,13 +422,19 @@ class ServerMethods():
downloads.append(download)
return downloads
- def get_conf_val(self, cat, var):
+ def get_conf_val(self, cat, var, sec="core"):
""" get config value """
- return self.core.config[cat][var]
+ if sec == "core":
+ return self.core.config[cat][var]
+ elif sec == "plugin":
+ return self.core.config.getPlugin(cat,var)
- def set_conf_val(self, cat, opt, val):
+ def set_conf_val(self, cat, opt, val, sec="core"):
""" set config value """
- self.core.config[str(cat)][str(opt)] = val
+ if sec == "core":
+ self.core.config[str(cat)][str(opt)] = val
+ elif sec == "plugin":
+ self.core.config.setPlugin(cat, opt, val)
def get_config(self):
""" gets complete config """