diff options
author | Marco Pesenti Gritti <mpg@redhat.com> | 2006-05-23 16:48:29 (GMT) |
---|---|---|
committer | Marco Pesenti Gritti <mpg@redhat.com> | 2006-05-23 16:48:29 (GMT) |
commit | dde63625a5ab91a2ad27d189def6f4e071d01e2a (patch) | |
tree | 36125c9d2f347bd4b42463e0060661574b166abe /sugar/p2p | |
parent | 178468e2c059f5c5cca43b1359f5cfd347ed3c30 (diff) |
Merge
Diffstat (limited to 'sugar/p2p')
-rw-r--r-- | sugar/p2p/network.py | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/sugar/p2p/network.py b/sugar/p2p/network.py index 684d114..b6241a9 100644 --- a/sugar/p2p/network.py +++ b/sugar/p2p/network.py @@ -10,6 +10,9 @@ import SimpleXMLRPCServer import SocketServer +RESULT_FAILED = 0 +RESULT_SUCCESS = 1 + __authinfos = {} def _add_authinfo(authinfo): @@ -176,7 +179,7 @@ class GlibXMLRPCTransport(xmlrpclib.Transport): if request_cb: if len(response) == 1: response = response[0] - gobject.idle_add(request_cb, response, user_data) + gobject.idle_add(request_cb, RESULT_SUCCESS, response, user_data) class _Method: """Right, so python people thought it would be funny to make this @@ -209,7 +212,7 @@ class GlibServerProxy(xmlrpclib.ServerProxy): Here, 'xmlrpc_test_cb' is the callback function, which has the following signature: - def xmlrpc_test_cb(response, user_data=None): + def xmlrpc_test_cb(result_status, response, user_data=None): ... """ def __init__(self, uri, encoding=None, verbose=0, allow_none=0): @@ -236,14 +239,17 @@ class GlibServerProxy(xmlrpclib.ServerProxy): request = xmlrpclib.dumps(params, methodname, encoding=self._encoding, allow_none=self._allow_none) - response = self._transport.start_request( - self._host, - self._handler, - request, - verbose=self._verbose, - request_cb=request_cb, - user_data=user_data - ) + try: + response = self._transport.start_request( + self._host, + self._handler, + request, + verbose=self._verbose, + request_cb=request_cb, + user_data=user_data + ) + except socket.error, exc: + gobject.idle_add(request_cb, RESULT_FAILED, None, user_data) def __getattr__(self, name): # magic method dispatcher |