[#2333] [Console] Fix 'set and then get' in config command
* The get method was returning old config information so use correct core get callback. * Remove redundant deferred in set method
This commit is contained in:
parent
2b08ed06af
commit
78fcf1781a
|
@ -34,8 +34,6 @@
|
|||
#
|
||||
#
|
||||
|
||||
from twisted.internet import defer
|
||||
|
||||
from deluge.ui.console.main import BaseCommand
|
||||
import deluge.ui.console.colors as colors
|
||||
from deluge.ui.client import client
|
||||
|
@ -106,8 +104,7 @@ class Command(BaseCommand):
|
|||
return self._get_config(*args, **options)
|
||||
|
||||
def _get_config(self, *args, **options):
|
||||
deferred = defer.Deferred()
|
||||
config = component.get("CoreConfig")
|
||||
def _on_get_config(config):
|
||||
keys = config.keys()
|
||||
keys.sort()
|
||||
s = ""
|
||||
|
@ -129,12 +126,11 @@ class Command(BaseCommand):
|
|||
value = "\n".join(new_value)
|
||||
|
||||
s += " %s: %s%s\n" % (key, color, value)
|
||||
|
||||
self.console.write(s)
|
||||
return config
|
||||
|
||||
return client.core.get_config().addCallback(_on_get_config)
|
||||
|
||||
def _set_config(self, *args, **options):
|
||||
deferred = defer.Deferred()
|
||||
config = component.get("CoreConfig")
|
||||
key = options["set"][0]
|
||||
val = simple_eval(options["set"][1] + " " .join(args))
|
||||
|
@ -152,11 +148,9 @@ class Command(BaseCommand):
|
|||
|
||||
def on_set_config(result):
|
||||
self.console.write("{!success!}Configuration value successfully updated.")
|
||||
deferred.callback(True)
|
||||
|
||||
self.console.write("Setting %s to %s.." % (key, val))
|
||||
client.core.set_config({key: val}).addCallback(on_set_config)
|
||||
return deferred
|
||||
return client.core.set_config({key: val}).addCallback(on_set_config)
|
||||
|
||||
def complete(self, text):
|
||||
return [ k for k in component.get("CoreConfig").keys() if k.startswith(text) ]
|
||||
|
|
Loading…
Reference in New Issue