From c35316f1582de2c25b9e3c0ec99ba356b444806a Mon Sep 17 00:00:00 2001 From: Krenair Date: Sun, 11 May 2014 15:45:40 +0100 Subject: [PATCH 1/2] Run under Python 3 This will make the code I wrote in : http://lists.wikimedia.org/pipermail/wikitech-l/2014-May/076373.html actually work in modern versions of Python. --- socketIO_client/__init__.py | 9 ++++++--- socketIO_client/transports.py | 5 ++++- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/socketIO_client/__init__.py b/socketIO_client/__init__.py index 3bdecf1..2e56665 100644 --- a/socketIO_client/__init__.py +++ b/socketIO_client/__init__.py @@ -3,7 +3,10 @@ import json import requests import time from collections import namedtuple -from urlparse import urlparse +try: + from urlparse import urlparse +except: + from urllib.parse import urlparse from .exceptions import ConnectionError, TimeoutError, PacketError from .transports import _get_response, _negotiate_transport, TRANSPORTS @@ -254,13 +257,13 @@ class SocketIO(object): # Initialize heartbeat_pacemaker self.heartbeat_pacemaker = self._make_heartbeat_pacemaker( heartbeat_interval=socketIO_session.heartbeat_timeout / 2) - self.heartbeat_pacemaker.next() + next(self.heartbeat_pacemaker) # Negotiate transport transport = _negotiate_transport( self.client_supported_transports, socketIO_session, self.is_secure, self.base_url, **self.kw) # Update namespaces - for path, namespace in self._namespace_by_path.iteritems(): + for path, namespace in self._namespace_by_path.items(): namespace._transport = transport transport.connect(path) return transport diff --git a/socketIO_client/transports.py b/socketIO_client/transports.py index ed4e59c..e43e644 100644 --- a/socketIO_client/transports.py +++ b/socketIO_client/transports.py @@ -6,7 +6,10 @@ import six import socket import time import websocket -from itertools import izip +try: + from itertools import izip +except: + izip = zip from .exceptions import SocketIOError, ConnectionError, TimeoutError From 3d12aa8a28972473fd1ccc64a4c424a58ee79b35 Mon Sep 17 00:00:00 2001 From: Krenair Date: Sun, 11 May 2014 16:32:29 +0100 Subject: [PATCH 2/2] Check for ImportError rather than any exception --- socketIO_client/__init__.py | 2 +- socketIO_client/transports.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/socketIO_client/__init__.py b/socketIO_client/__init__.py index 2e56665..82c5e51 100644 --- a/socketIO_client/__init__.py +++ b/socketIO_client/__init__.py @@ -5,7 +5,7 @@ import time from collections import namedtuple try: from urlparse import urlparse -except: +except ImportError: from urllib.parse import urlparse from .exceptions import ConnectionError, TimeoutError, PacketError diff --git a/socketIO_client/transports.py b/socketIO_client/transports.py index e43e644..c522666 100644 --- a/socketIO_client/transports.py +++ b/socketIO_client/transports.py @@ -8,7 +8,7 @@ import time import websocket try: from itertools import izip -except: +except ImportError: izip = zip from .exceptions import SocketIOError, ConnectionError, TimeoutError