[pypy-commit] pypy space-newtext: a few tweaks

cfbolz pypy.commits at gmail.com
Wed Dec 14 11:46:41 EST 2016


Author: Carl Friedrich Bolz <cfbolz at gmx.de>
Branch: space-newtext
Changeset: r89059:83148ff60b21
Date: 2016-12-14 17:37 +0100
http://bitbucket.org/pypy/pypy/changeset/83148ff60b21/

Log:	a few tweaks

diff --git a/pypy/module/_pypyjson/interp_decoder.py b/pypy/module/_pypyjson/interp_decoder.py
--- a/pypy/module/_pypyjson/interp_decoder.py
+++ b/pypy/module/_pypyjson/interp_decoder.py
@@ -388,7 +388,7 @@
     if space.isinstance_w(w_s, space.w_unicode):
         raise oefmt(space.w_TypeError,
                     "Expected utf8-encoded str, got unicode")
-    s = space.str_w(w_s)
+    s = space.bytes_w(w_s)
     decoder = JSONDecoder(space, s)
     try:
         w_res = decoder.decode_any(0)
diff --git a/pypy/module/cppyy/capi/loadable_capi.py b/pypy/module/cppyy/capi/loadable_capi.py
--- a/pypy/module/cppyy/capi/loadable_capi.py
+++ b/pypy/module/cppyy/capi/loadable_capi.py
@@ -314,7 +314,7 @@
     return rffi.cast(rffi.UCHAR, space.c_uint_w(call_capi(space, 'call_b', args)))
 def c_call_c(space, cppmethod, cppobject, nargs, cargs):
     args = [_Arg(h=cppmethod), _Arg(h=cppobject), _Arg(l=nargs), _Arg(vp=cargs)]
-    return rffi.cast(rffi.CHAR, space.str_w(call_capi(space, 'call_c', args))[0])
+    return rffi.cast(rffi.CHAR, space.text_w(call_capi(space, 'call_c', args))[0])
 def c_call_h(space, cppmethod, cppobject, nargs, cargs):
     args = [_Arg(h=cppmethod), _Arg(h=cppobject), _Arg(l=nargs), _Arg(vp=cargs)]
     return rffi.cast(rffi.SHORT, space.int_w(call_capi(space, 'call_h', args)))
diff --git a/pypy/module/cppyy/converter.py b/pypy/module/cppyy/converter.py
--- a/pypy/module/cppyy/converter.py
+++ b/pypy/module/cppyy/converter.py
@@ -181,10 +181,10 @@
 
     def convert_argument(self, space, w_obj, address, call_local):
         w_tc = space.findattr(w_obj, space.newtext('typecode'))
-        if w_tc is not None and space.str_w(w_tc) != self.typecode:
+        if w_tc is not None and space.text_w(w_tc) != self.typecode:
             raise oefmt(space.w_TypeError,
                         "expected %s pointer type, but received %s",
-                        self.typecode, space.str_w(w_tc))
+                        self.typecode, space.text_w(w_tc))
         x = rffi.cast(rffi.VOIDPP, address)
         try:
             x[0] = rffi.cast(rffi.VOIDP, get_rawbuffer(space, w_obj))
@@ -362,7 +362,7 @@
 class CStringConverter(TypeConverter):
     def convert_argument(self, space, w_obj, address, call_local):
         x = rffi.cast(rffi.LONGP, address)
-        arg = space.str_w(w_obj)
+        arg = space.text_w(w_obj)
         x[0] = rffi.cast(rffi.LONG, rffi.str2charp(arg))
         ba = rffi.cast(rffi.CCHARP, address)
         ba[capi.c_function_arg_typeoffset(space)] = 'o'
@@ -555,7 +555,7 @@
             arg = InstanceConverter._unwrap_object(self, space, w_obj)
             return capi.c_stdstring2stdstring(space, arg)
         else:
-            return capi.c_charp2stdstring(space, space.str_w(w_obj))
+            return capi.c_charp2stdstring(space, space.text_w(w_obj))
 
     def to_memory(self, space, w_obj, w_value, offset):
         try:
@@ -838,7 +838,7 @@
                 arg = InstanceConverter._unwrap_object(self, space, w_obj)
                 return capi.backend.c_TString2TString(space, arg)
             else:
-                return capi.backend.c_charp2TString(space, space.str_w(w_obj))
+                return capi.backend.c_charp2TString(space, space.text_w(w_obj))
 
         def free_argument(self, space, arg, call_local):
             capi.c_destruct(space, self.cppclass, rffi.cast(capi.C_OBJECT, rffi.cast(rffi.VOIDPP, arg)[0]))
diff --git a/pypy/module/cppyy/ffitypes.py b/pypy/module/cppyy/ffitypes.py
--- a/pypy/module/cppyy/ffitypes.py
+++ b/pypy/module/cppyy/ffitypes.py
@@ -48,7 +48,7 @@
 
             value = rffi.cast(rffi.CHAR, space.c_int_w(w_value))
         else:
-            value = space.str_w(w_value)
+            value = space.bytes_w(w_value)
 
         if len(value) != 1:  
             raise oefmt(space.w_ValueError,
diff --git a/pypy/module/cppyy/interp_cppyy.py b/pypy/module/cppyy/interp_cppyy.py
--- a/pypy/module/cppyy/interp_cppyy.py
+++ b/pypy/module/cppyy/interp_cppyy.py
@@ -429,9 +429,9 @@
         assert lltype.typeOf(cppthis) == capi.C_OBJECT
         for i in range(len(args_w)):
             try:
-                s = self.space.str_w(args_w[i])
+                s = self.space.text_w(args_w[i])
             except OperationError:
-                s = self.space.str_w(self.space.getattr(args_w[i], self.space.newtext('__name__')))
+                s = self.space.text_w(self.space.getattr(args_w[i], self.space.newtext('__name__')))
             s = capi.c_resolve_name(self.space, s)
             if s != self.templ_args[i]:
                 raise oefmt(self.space.w_TypeError,
@@ -1009,7 +1009,7 @@
     @unwrap_spec(args_w='args_w')
     def __call__(self, args_w):
         # TODO: this is broken but unused (see pythonify.py)
-        fullname = "".join([self.name, '<', self.space.str_w(args_w[0]), '>'])
+        fullname = "".join([self.name, '<', self.space.text_w(args_w[0]), '>'])
         return scope_byname(self.space, fullname)
 
 W_CPPTemplateType.typedef = TypeDef(
@@ -1286,9 +1286,9 @@
         rawobject = rffi.cast(capi.C_OBJECT, space.uint_w(w_obj))
     w_cppclass = space.findattr(w_pycppclass, space.newtext("_cpp_proxy"))
     if not w_cppclass:
-        w_cppclass = scope_byname(space, space.str_w(w_pycppclass))
+        w_cppclass = scope_byname(space, space.text_w(w_pycppclass))
         if not w_cppclass:
             raise oefmt(space.w_TypeError,
-                        "no such class: %s", space.str_w(w_pycppclass))
+                        "no such class: %s", space.text_w(w_pycppclass))
     cppclass = space.interp_w(W_CPPClass, w_cppclass, can_be_None=False)
     return wrap_cppobject(space, rawobject, cppclass, do_cast=cast, python_owns=owns)
diff --git a/pypy/module/posix/interp_posix.py b/pypy/module/posix/interp_posix.py
--- a/pypy/module/posix/interp_posix.py
+++ b/pypy/module/posix/interp_posix.py
@@ -580,18 +580,16 @@
             len_result = len(result)
             result_w = [None] * len_result
             for i in range(len_result):
-                if type(result[i]) is unicode:
-                    result_w[i] = space.newunicode(result[i])
-                else:
-                    w_bytes = space.newtext(result[i])
-                    try:
-                        result_w[i] = space.call_method(w_bytes,
-                                                        "decode", w_fs_encoding)
-                    except OperationError as e:
-                        # fall back to the original byte string
-                        if e.async(space):
-                            raise
-                        result_w[i] = w_bytes
+                res = result[i]
+                w_bytes = space.newtext(res)
+                try:
+                    result_w[i] = space.call_method(w_bytes,
+                                                    "decode", w_fs_encoding)
+                except OperationError as e:
+                    # fall back to the original byte string
+                    if e.async(space):
+                        raise
+                    result_w[i] = w_bytes
             return space.newlist(result_w)
         else:
             dirname = space.str0_w(w_dirname)


More information about the pypy-commit mailing list