Skip to content

Commit

Permalink
Only Python3.5+ is supported for installation & usage.
Browse files Browse the repository at this point in the history
  • Loading branch information
Kilik Kuo committed Mar 23, 2017
1 parent e97c873 commit e45cde5
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 37 deletions.
53 changes: 16 additions & 37 deletions OpenCLGA/utilities/httpwebsocketserver/HTTPWebSocketsHandler.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,9 @@
from base64 import b64encode
from hashlib import sha1

VER = sys.version_info[0]
if VER >= 3:
from http.server import SimpleHTTPRequestHandler
from io import StringIO
from email.message import Message
else:
from StringIO import StringIO
from mimetools import Message
from SimpleHTTPServer import SimpleHTTPRequestHandler
from http.server import SimpleHTTPRequestHandler
from io import StringIO
from email.message import Message

class WebSocketError(Exception):
pass
Expand Down Expand Up @@ -137,23 +131,15 @@ def _read_next_message(self):
length = struct.unpack(">Q", self._read_bytes(8))[0]
masks = self._read_bytes(4)
# print("MASKS : {}".format(masks))
decoded = None
if VER >= 3:
decoded = bytearray()
else:
decoded = ''
decoded = bytearray()
datastream = self._read_bytes(length)
# print("datastream : {}".format(datastream))
for char in datastream:
if VER >= 3:
decoded.append(char ^ masks[len(decoded) % 4])
else:
decoded += chr(ord(char) ^ ord(masks[len(decoded) % 4]))
decoded.append(char ^ masks[len(decoded) % 4])

if VER >= 3:
decoded = bytes(decoded)
# print("length of decdoecd = {}".format(len(decoded)))
# print("length of decdoecd.decode() = {}".format(len(decoded.decode())))
decoded = bytes(decoded)
# print("length of decdoecd = {}".format(len(decoded)))
# print("length of decdoecd.decode() = {}".format(len(decoded.decode())))
self._on_message(decoded)
except (struct.error, TypeError) as e:
traceback.print_exc()
Expand All @@ -166,22 +152,15 @@ def _read_next_message(self):
pass

def _send_impl(self, msg):
# print("_send_impl .... {}".format(type(msg)))
global VER
if VER >= 3:
data = bytearray()
if type(msg) == int:
data = bytes([msg])
elif type(msg) == bytes:
data = msg
elif type(msg) == str:
data = msg.encode()
self.request.send(data)
else:
# print("_send_impl .... {}".format(type(msg
data = bytearray()
if type(msg) == int:
data = bytes([msg])
elif type(msg) == bytes:
data = msg
if type(msg) == int:
data = chr(msg)
self.request.send(data)
elif type(msg) == str:
data = msg.encode()
self.request.send(data)

def _send_message(self, opcode, message):
try:
Expand Down
6 changes: 6 additions & 0 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
# -*- coding: utf-8 -*-
import os
import sys
from setuptools import setup, find_packages

# We intend to support Python 3.5+, let's get rid of 2.x !
if (sys.version_info[0], sys.version_info[1]) <= (3, 4):
sys.exit('Sorry, only Python 3.5+ is supported')

package_files_paths = []
def package_files(directory):
global package_files_paths
Expand Down

0 comments on commit e45cde5

Please sign in to comment.