More py3 fixes.

This commit is contained in:
Ralph Bean
2014-04-14 19:48:54 -04:00
parent 50da793cb0
commit 80943475e5
2 changed files with 14 additions and 6 deletions

View File

@@ -65,7 +65,7 @@ class HeaderSockMock(SockMock):
def __init__(self, fname): def __init__(self, fname):
SockMock.__init__(self) SockMock.__init__(self)
path = os.path.join(os.path.dirname(__file__), fname) path = os.path.join(os.path.dirname(__file__), fname)
self.add_packet(open(path).read()) self.add_packet(open(path).read().encode('utf-8'))
class WebSocketTest(unittest.TestCase): class WebSocketTest(unittest.TestCase):
@@ -165,7 +165,7 @@ class WebSocketTest(unittest.TestCase):
def testWSKey(self): def testWSKey(self):
key = ws._create_sec_websocket_key() key = ws._create_sec_websocket_key()
self.assert_(key != 24) self.assert_(key != 24)
self.assert_("¥n" not in key) self.assert_(six.u("¥n") not in key)
def testWsUtils(self): def testWsUtils(self):
sock = ws.WebSocket() sock = ws.WebSocket()
@@ -227,7 +227,8 @@ class WebSocketTest(unittest.TestCase):
something = "\x81\x8fabcd\x82\xe3\xf0\x87\xe3\xf1\x80\xe5\xca\x81\xe2\xc5\x82\xe3\xcc" something = "\x81\x8fabcd\x82\xe3\xf0\x87\xe3\xf1\x80\xe5\xca\x81\xe2\xc5\x82\xe3\xcc"
s.add_packet(something) s.add_packet(something)
data = sock.recv() data = sock.recv()
self.assertEquals(data.decode('utf-8'), "こんにちは") data = data.decode('utf-8')
self.assertEquals(data, u"こんにちは")
s.add_packet("\x81\x85abcd)\x07\x0f\x08\x0e") s.add_packet("\x81\x85abcd)\x07\x0f\x08\x0e")
data = sock.recv() data = sock.recv()

View File

@@ -347,7 +347,11 @@ class ABNF(object):
def _get_masked(self, mask_key): def _get_masked(self, mask_key):
s = ABNF.mask(mask_key, self.data) s = ABNF.mask(mask_key, self.data)
return six.b(mask_key) + s
if isinstance(mask_key, six.text_type):
mask_key = mask_key.encode('utf-8')
return mask_key + s
@staticmethod @staticmethod
def mask(mask_key, data): def mask(mask_key, data):
@@ -564,6 +568,7 @@ class WebSocket(object):
while True: while True:
line = self._recv_line() line = self._recv_line()
line = line.decode('utf-8')
if line == "\r\n" or line == "\n": if line == "\r\n" or line == "\n":
break break
line = line.strip() line = line.strip()
@@ -595,6 +600,7 @@ class WebSocket(object):
opcode: operation code to send. Please see OPCODE_XXX. opcode: operation code to send. Please see OPCODE_XXX.
""" """
frame = ABNF.create_frame(payload, opcode) frame = ABNF.create_frame(payload, opcode)
return self.send_frame(frame) return self.send_frame(frame)
@@ -870,9 +876,9 @@ class WebSocket(object):
while True: while True:
c = self._recv(1) c = self._recv(1)
line.append(c) line.append(c)
if c == "\n": if c == six.b("\n"):
break break
return "".join(line) return six.b("").join(line)
class WebSocketApp(object): class WebSocketApp(object):
@@ -930,6 +936,7 @@ class WebSocketApp(object):
data: message to send. If you set opcode to OPCODE_TEXT, data must be utf-8 string or unicode. data: message to send. If you set opcode to OPCODE_TEXT, data must be utf-8 string or unicode.
opcode: operation code of data. default is OPCODE_TEXT. opcode: operation code of data. default is OPCODE_TEXT.
""" """
if self.sock.send(data, opcode) == 0: if self.sock.send(data, opcode) == 0:
raise WebSocketConnectionClosedException() raise WebSocketConnectionClosedException()