changeset 1ac6e9a303a7 in /home/hg/repos/python-nbxmpp
details:http://hg.gajim.org/python-nbxmpp?cmd=changeset;node=1ac6e9a303a7
description: stop using decode string method in py3 in other places
diffstat:
nbxmpp/transports_nb.py | 18 ++++++++++--------
1 files changed, 10 insertions(+), 8 deletions(-)
diffs (70 lines):
diff -r 6f86fbe3f1a2 -r 1ac6e9a303a7 nbxmpp/transports_nb.py
--- a/nbxmpp/transports_nb.py Sun Jun 14 10:38:49 2015 -0400
+++ b/nbxmpp/transports_nb.py Sat Jun 20 07:54:12 2015 -0400
@@ -87,8 +87,10 @@
def decode_py2(string, encoding):
# decodes string into unicode if in py2
# py3 has unicode strings by default
- if sys.version_info[0] < 3:
- return string.decode(encoding)
+ try:
+ string = string.decode(encoding)
+ except AttributeError:
+ pass
return string
#: timeout to connect to the server socket, it doesn't include auth
@@ -482,7 +484,7 @@
self._sock.shutdown(socket.SHUT_RDWR)
self._sock.close()
except socket.error as e:
- errstr = e.strerror.decode(locale.getpreferredencoding())
+ errstr = decode_py2(e.strerror, locale.getpreferredencoding())
log.info('Error while disconnecting socket: %s' % errstr)
self.fd = -1
NonBlockingTransport.disconnect(self, do_callback)
@@ -577,7 +579,7 @@
self.sent_bytes_buff = b''
# try to decode sent data
try:
- sent_data = sent_data.decode('utf-8')
+ sent_data = decode_py2(sent_data, 'utf-8')
except UnicodeDecodeError:
for i in range(-1, -4, -1):
char = sent_data[i]
@@ -585,7 +587,7 @@
self.sent_bytes_buff = sent_data[i:]
sent_data = sent_data[:i]
break
- sent_data = sent_data.decode('utf-8')
+ sent_data = decode_py2(sent_data, 'utf-8')
self.raise_event(DATA_SENT, sent_data)
except Exception:
@@ -611,7 +613,7 @@
log.info("_do_receive, caught SSL error, got %s:" % received,
exc_info=True)
errnum, errstr = e.errno,\
- e.strerror.decode(locale.getpreferredencoding())
+ decode_py2(e.strerror, locale.getpreferredencoding())
if received == '':
errstr = 'zero bytes on recv'
@@ -647,7 +649,7 @@
# try to decode data
try:
- received = received.decode('utf-8')
+ received = decode_py2(received, 'utf-8')
except UnicodeDecodeError:
for i in range(-1, -4, -1):
char = received[i]
@@ -657,7 +659,7 @@
self.received_bytes_buff = received[i:]
received = received[:i]
break
- received = received.decode('utf-8')
+ received = decode_py2(received, 'utf-8')
# pass received data to owner
if self.on_receive:
_______________________________________________
Commits mailing list
[email protected]
https://lists.gajim.org/cgi-bin/listinfo/commits