From df9c0aeb9f064282a566bac7a26240066fe2291f Mon Sep 17 00:00:00 2001 From: Simon Schampijer Date: Thu, 09 Jun 2011 12:31:54 +0000 Subject: Register with schoolserver: adopt to changes in xmlrpclib for python 2.7 OLPC #10776, SL #2726 Python 2.7 switched from using httplib.HTTP to using httplib.HTTPConnection, as the httplib.HTTPConnection includes a timeout by default we can use a xmlrpclib.Transport directly and do not need to subclass it. Signed-off-by: Simon Schampijer Acked-By: Sascha Silbe --- diff --git a/src/jarabe/desktop/schoolserver.py b/src/jarabe/desktop/schoolserver.py index aea2357..634817b 100644 --- a/src/jarabe/desktop/schoolserver.py +++ b/src/jarabe/desktop/schoolserver.py @@ -24,6 +24,7 @@ from string import ascii_uppercase import random import time import uuid +import sys import gconf @@ -123,12 +124,18 @@ def register_laptop(url=_REGISTER_URL): nick = client.get_string('/desktop/sugar/user/nick') - server = xmlrpclib.ServerProxy(url, _TimeoutTransport()) + if sys.hexversion < 0x2070000: + server = xmlrpclib.ServerProxy(url, _TimeoutTransport()) + else: + socket.setdefaulttimeout(_REGISTER_TIMEOUT) + server = xmlrpclib.ServerProxy(url) try: data = server.register(sn, nick, uuid_, profile.pubkey) except (xmlrpclib.Error, TypeError, socket.error): logging.exception('Registration: cannot connect to server') raise RegisterError(_('Cannot connect to the server.')) + finally: + socket.setdefaulttimeout(None) if data['success'] != 'OK': logging.error('Registration: server could not complete request: %s', -- cgit v0.9.1