Author: Armin Rigo <ar...@tunes.org>
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
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to