From a8697114c132081315a0d23ef2d7eaffce14f1d8 Mon Sep 17 00:00:00 2001 From: Andrew Resch Date: Sun, 13 Dec 2009 22:47:15 +0000 Subject: [PATCH] Fix #823 setting config values to -1.0 --- deluge/ui/console/commands/config.py | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/deluge/ui/console/commands/config.py b/deluge/ui/console/commands/config.py index 04f8f7e22..2a3ad9fac 100644 --- a/deluge/ui/console/commands/config.py +++ b/deluge/ui/console/commands/config.py @@ -102,7 +102,7 @@ class Command(BaseCommand): """Show and set configuration values""" option_list = BaseCommand.option_list + ( - make_option('-s', '--set', action='store_true', default=False, dest='set', + make_option('-s', '--set', action='store', nargs=2, dest='set', help='set value for key'), ) usage = "Usage: config [key1 [key2 ...]]\n"\ @@ -153,19 +153,18 @@ class Command(BaseCommand): def _set_config(self, *args, **options): deferred = defer.Deferred() config = component.get("CoreConfig") - key = args[0] + key = options["set"][0] + val = options["set"][1] if key not in config.keys(): self.console.write("{!error!}The key '%s' is invalid!" % key) return - try: - val = simple_eval(' '.join(args[1:])) - except SyntaxError, e: - self.console.write("{!error!}%s" % e) - return if type(config[key]) != type(val): - self.config.write("{!error!}Configuration value provided has incorrect type.") - return + try: + val = type(config[key])(val) + except: + self.config.write("{!error!}Configuration value provided has incorrect type.") + return def on_set_config(result): self.console.write("{!success!}Configuration value successfully updated.")