Author: johnnyg

Revision: 6079

Log:
        Rewrote call to use maybeDeferred (this handles methods that return 
deferreds).
Fixes #1114.

Diff:
Modified: branches/1.2_RC/ChangeLog
===================================================================
--- branches/1.2_RC/ChangeLog   2010-01-05 14:07:16 UTC (rev 6078)
+++ branches/1.2_RC/ChangeLog   2010-01-07 00:45:47 UTC (rev 6079)
@@ -11,6 +11,7 @@
 
 ==== GtkUI ====
        * Fix #1104, #735 use path.utf-8 if available
+       * Fix #1114 test active port not working in classic mode
 
 ==== Console ====
        * Fix #1115 not showing usage for the 'debug' command

Modified: branches/1.2_RC/deluge/ui/client.py
===================================================================
--- branches/1.2_RC/deluge/ui/client.py 2010-01-05 14:07:16 UTC (rev 6078)
+++ branches/1.2_RC/deluge/ui/client.py 2010-01-07 00:45:47 UTC (rev 6079)
@@ -422,22 +422,15 @@
     def call(self, method, *args, **kwargs):
         #log.debug("call: %s %s %s", method, args, kwargs)
 
-        d = defer.Deferred()
+        import copy
+
         try:
             m = self.__daemon.rpcserver.get_object_method(method)
         except Exception, e:
             log.exception(e)
-            d.errback(e)
-            return d
-
-        try:
-            import copy
-            result = m(*copy.deepcopy(args), **copy.deepcopy(kwargs))
-        except Exception, e:
-            d.errback(e)
+            return defer.fail(e)
         else:
-            d.callback(result)
-        return d
+            return defer.maybeDeferred(m, *copy.deepcopy(args), 
**copy.deepcopy(kwargs))
 
     def register_event_handler(self, event, handler):
         """

Modified: trunk/deluge/ui/client.py
===================================================================
--- trunk/deluge/ui/client.py   2010-01-05 14:07:16 UTC (rev 6078)
+++ trunk/deluge/ui/client.py   2010-01-07 00:45:47 UTC (rev 6079)
@@ -422,22 +422,15 @@
     def call(self, method, *args, **kwargs):
         #log.debug("call: %s %s %s", method, args, kwargs)
 
-        d = defer.Deferred()
+        import copy
+
         try:
             m = self.__daemon.rpcserver.get_object_method(method)
         except Exception, e:
             log.exception(e)
-            d.errback(e)
-            return d
-
-        try:
-            import copy
-            result = m(*copy.deepcopy(args), **copy.deepcopy(kwargs))
-        except Exception, e:
-            d.errback(e)
+            return defer.fail(e)
         else:
-            d.callback(result)
-        return d
+            return defer.maybeDeferred(m, *copy.deepcopy(args), 
**copy.deepcopy(kwargs))
 
     def register_event_handler(self, event, handler):
         """


-- 
You received this message because you are subscribed to the Google Groups 
"deluge-commit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/deluge-commit?hl=en.


Reply via email to