mirror of
https://git.deluge-torrent.org/deluge
synced 2025-08-04 07:28:39 +00:00
Rewrote call to use maybeDeferred (this handles methods that return deferreds).
Fixes #1114.
This commit is contained in:
parent
547cfa6339
commit
34b2ada0db
2 changed files with 5 additions and 11 deletions
|
@ -11,6 +11,7 @@
|
||||||
|
|
||||||
==== GtkUI ====
|
==== GtkUI ====
|
||||||
* Fix #1104, #735 use path.utf-8 if available
|
* Fix #1104, #735 use path.utf-8 if available
|
||||||
|
* Fix #1114 test active port not working in classic mode
|
||||||
|
|
||||||
==== Console ====
|
==== Console ====
|
||||||
* Fix #1115 not showing usage for the 'debug' command
|
* Fix #1115 not showing usage for the 'debug' command
|
||||||
|
|
|
@ -422,22 +422,15 @@ class DaemonClassicProxy(DaemonProxy):
|
||||||
def call(self, method, *args, **kwargs):
|
def call(self, method, *args, **kwargs):
|
||||||
#log.debug("call: %s %s %s", method, args, kwargs)
|
#log.debug("call: %s %s %s", method, args, kwargs)
|
||||||
|
|
||||||
d = defer.Deferred()
|
import copy
|
||||||
|
|
||||||
try:
|
try:
|
||||||
m = self.__daemon.rpcserver.get_object_method(method)
|
m = self.__daemon.rpcserver.get_object_method(method)
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
log.exception(e)
|
log.exception(e)
|
||||||
d.errback(e)
|
return defer.fail(e)
|
||||||
return d
|
|
||||||
|
|
||||||
try:
|
|
||||||
import copy
|
|
||||||
result = m(*copy.deepcopy(args), **copy.deepcopy(kwargs))
|
|
||||||
except Exception, e:
|
|
||||||
d.errback(e)
|
|
||||||
else:
|
else:
|
||||||
d.callback(result)
|
return defer.maybeDeferred(m, *copy.deepcopy(args), **copy.deepcopy(kwargs))
|
||||||
return d
|
|
||||||
|
|
||||||
def register_event_handler(self, event, handler):
|
def register_event_handler(self, event, handler):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue