From af91855b187034e576373bb8cd1efb4d99828065 Mon Sep 17 00:00:00 2001 From: Roy Hyunjin Han Date: Mon, 23 Feb 2015 10:54:33 -0500 Subject: [PATCH] Fix for Python 3 --- TODO.goals | 3 +-- socketIO_client/__init__.py | 4 ++-- socketIO_client/heartbeats.py | 8 ++++---- socketIO_client/parsers.py | 12 ++++++------ socketIO_client/transports.py | 2 +- 5 files changed, 14 insertions(+), 15 deletions(-) diff --git a/TODO.goals b/TODO.goals index 66afe84..bde212b 100644 --- a/TODO.goals +++ b/TODO.goals @@ -1,11 +1,10 @@ Release 0.6.1 #41 #52 - Run README commands - Fix for Python 3 Merge sarietta's pull request Add Websocket transport Update proxy to include websocket depending on argument Use prepared request to get headers from http_session Include https://github.com/invisibleroads/socketIO-client/issues/68 +Add test for on_reconnect using sarietta's bash scripts Consider logging packets sent and received Implement rooms #65 Implement binary event diff --git a/socketIO_client/__init__.py b/socketIO_client/__init__.py index 70731dc..7518384 100644 --- a/socketIO_client/__init__.py +++ b/socketIO_client/__init__.py @@ -84,7 +84,7 @@ class EngineIO(LoggingMixin): def _reset_heartbeat(self): try: - self._heartbeat_thread.stop() + self._heartbeat_thread.halt() except AttributeError: pass ping_interval = self._engineIO_session.ping_interval @@ -150,7 +150,7 @@ class EngineIO(LoggingMixin): def _close(self): self._wants_to_close = True - self._heartbeat_thread.stop() + self._heartbeat_thread.halt() if not self._opened: return engineIO_packet_type = 1 diff --git a/socketIO_client/heartbeats.py b/socketIO_client/heartbeats.py index f1de194..db2599d 100644 --- a/socketIO_client/heartbeats.py +++ b/socketIO_client/heartbeats.py @@ -17,11 +17,11 @@ class HeartbeatThread(Thread): self._hurry_interval_in_seconds = hurry_interval_in_seconds self._adrenaline = Event() self._rest = Event() - self._stop = Event() + self._halt = Event() def run(self): try: - while not self._stop.is_set(): + while not self._halt.is_set(): try: self._send_heartbeat() except TimeoutError: @@ -42,6 +42,6 @@ class HeartbeatThread(Thread): self._rest.set() self._rest.clear() - def stop(self): + def halt(self): self._rest.set() - self._stop.set() + self._halt.set() diff --git a/socketIO_client/parsers.py b/socketIO_client/parsers.py index 1ee9f2f..c962d77 100644 --- a/socketIO_client/parsers.py +++ b/socketIO_client/parsers.py @@ -30,11 +30,11 @@ def parse_engineIO_session(engineIO_packet_data): def encode_engineIO_content(engineIO_packets): - parts = [] + content = bytearray() for packet_type, packet_data in engineIO_packets: - packet_string = str(packet_type) + encode_string(packet_data) - parts.append(_make_packet_header(packet_string) + packet_string) - return ''.join(parts) + packet_string = encode_string(str(packet_type) + packet_data) + content.extend(_make_packet_header(packet_string) + packet_string) + return content def decode_engineIO_content(content): @@ -100,11 +100,11 @@ def get_namespace_path(socketIO_packet_data): def _make_packet_header(packet_string): length_string = str(len(packet_string)) - header_digits = [0] + header_digits = bytearray([0]) for i in range(len(length_string)): header_digits.append(ord(length_string[i]) - 48) header_digits.append(255) - return ''.join(chr(x) for x in header_digits) + return header_digits def _read_packet_length(content, content_index): diff --git a/socketIO_client/transports.py b/socketIO_client/transports.py index 6cd012c..dc187cc 100644 --- a/socketIO_client/transports.py +++ b/socketIO_client/transports.py @@ -68,7 +68,7 @@ class XHR_PollingTransport(AbstractTransport): (engineIO_packet_type, engineIO_packet_data), ]), **self.kw_post) - assert response.content == 'ok' + assert response.content == b'ok' def _get_timestamp(self): timestamp = '%s-%s' % (int(time.time() * 1000), self.request_index)