Author: Armin Rigo <[email protected]>
Branch: py3.5
Changeset: r93470:20fdafb25341
Date: 2017-12-18 13:41 +0100
http://bitbucket.org/pypy/pypy/changeset/20fdafb25341/
Log: Fixes for unicode error messages
diff --git a/pypy/interpreter/unicodehelper.py
b/pypy/interpreter/unicodehelper.py
--- a/pypy/interpreter/unicodehelper.py
+++ b/pypy/interpreter/unicodehelper.py
@@ -21,6 +21,7 @@
# Fast version of the "strict" errors handler.
def raise_unicode_exception_decode(errors, encoding, msg, s,
startingpos, endingpos):
+ import pdb;pdb.set_trace()
raise OperationError(space.w_UnicodeDecodeError,
space.newtuple([space.newtext(encoding),
space.newbytes(s),
diff --git a/pypy/module/_socket/interp_socket.py
b/pypy/module/_socket/interp_socket.py
--- a/pypy/module/_socket/interp_socket.py
+++ b/pypy/module/_socket/interp_socket.py
@@ -855,7 +855,7 @@
@specialize.arg(2)
def converted_error(space, e, eintr_retry=False):
- message = e.get_msg()
+ message = e.get_msg_unicode()
w_exception_class = get_error(space, e.applevelerrcls)
if isinstance(e, SocketErrorWithErrno):
if e.errno == errno.EINTR:
@@ -863,9 +863,9 @@
if eintr_retry:
return # only return None if eintr_retry==True
w_exception = space.call_function(w_exception_class,
space.newint(e.errno),
- space.newtext(message))
+ space.newunicode(message))
else:
- w_exception = space.call_function(w_exception_class,
space.newtext(message))
+ w_exception = space.call_function(w_exception_class,
space.newunicode(message))
raise OperationError(w_exception_class, w_exception)
def explicit_socket_error(space, msg):
diff --git a/pypy/module/select/interp_select.py
b/pypy/module/select/interp_select.py
--- a/pypy/module/select/interp_select.py
+++ b/pypy/module/select/interp_select.py
@@ -80,10 +80,10 @@
if timeout < 0:
timeout = 0
continue
- message = e.get_msg()
+ message = e.get_msg_unicode()
raise OperationError(space.w_OSError,
space.newtuple([space.newint(e.errno),
- space.newtext(message)]))
+
space.newunicode(message)]))
finally:
self.running = False
break
@@ -152,9 +152,9 @@
break # normal path
err = _c.geterrno()
if err != errno.EINTR:
- msg = _c.socket_strerror_str(err)
+ msg = _c.socket_strerror_unicode(err)
raise OperationError(space.w_OSError, space.newtuple([
- space.newint(err), space.newtext(msg)]))
+ space.newint(err), space.newunicode(msg)]))
# got EINTR, automatic retry
space.getexecutioncontext().checksignals()
if timeout > 0.0:
diff --git a/pypy/module/time/interp_time.py b/pypy/module/time/interp_time.py
--- a/pypy/module/time/interp_time.py
+++ b/pypy/module/time/interp_time.py
@@ -441,7 +441,8 @@
_set_module_object(space, "timezone", space.newint(timezone))
_set_module_object(space, 'daylight', space.newint(daylight))
- tzname_w = [space.newtext(tzname[0]), space.newtext(tzname[1])]
+ tzname_w = [space.newunicode(tzname[0].decode('latin-1')),
+ space.newunicode(tzname[1].decode('latin-1'))]
_set_module_object(space, 'tzname', space.newtuple(tzname_w))
_set_module_object(space, 'altzone', space.newint(altzone))
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit