Author: Carl Friedrich Bolz <cfb...@gmx.de> Branch: space-newtext Changeset: r88075:dd3d24ec655b Date: 2016-11-02 13:21 +0100 http://bitbucket.org/pypy/pypy/changeset/dd3d24ec655b/
Log: _codecs, _multibytecodec diff --git a/pypy/module/_codecs/interp_codecs.py b/pypy/module/_codecs/interp_codecs.py --- a/pypy/module/_codecs/interp_codecs.py +++ b/pypy/module/_codecs/interp_codecs.py @@ -42,16 +42,16 @@ w_input = space.newunicode(input) w_exc = space.call_function( w_cls, - space.wrap(encoding), + space.newtext(encoding), w_input, - space.wrap(startpos), - space.wrap(endpos), - space.wrap(reason)) + space.newint(startpos), + space.newint(endpos), + space.newtext(reason)) w_res = space.call_function(w_errorhandler, w_exc) if (not space.isinstance_w(w_res, space.w_tuple) or space.len_w(w_res) != 2 or not space.isinstance_w( - space.getitem(w_res, space.wrap(0)), + space.getitem(w_res, space.newint(0)), space.w_unicode)): raise oefmt(space.w_TypeError, "%s error handler must return (unicode, int) " @@ -86,7 +86,7 @@ return self.unicodedata_handler try: w_unicodedata = space.getbuiltinmodule("unicodedata") - w_getcode = space.getattr(w_unicodedata, space.wrap("_get_code")) + w_getcode = space.getattr(w_unicodedata, space.newtext("_get_code")) except OperationError: return None else: @@ -140,9 +140,9 @@ def _lookup_codec_loop(space, encoding, normalized_encoding): state = space.fromcache(CodecState) if state.codec_need_encodings: - w_import = space.getattr(space.builtin, space.wrap("__import__")) + w_import = space.getattr(space.builtin, space.newtext("__import__")) # registers new codecs - space.call_function(w_import, space.wrap("encodings")) + space.call_function(w_import, space.newtext("encodings")) state.codec_need_encodings = False if len(state.codec_search_path) == 0: raise oefmt(space.w_LookupError, @@ -150,7 +150,7 @@ "encoding") for w_search in state.codec_search_path: w_result = space.call_function(w_search, - space.wrap(normalized_encoding)) + space.newtext(normalized_encoding)) if not space.is_w(w_result, space.w_None): if not (space.isinstance_w(w_result, space.w_tuple) and space.len_w(w_result) == 4): @@ -167,9 +167,9 @@ def check_exception(space, w_exc): try: - w_start = space.getattr(w_exc, space.wrap('start')) - w_end = space.getattr(w_exc, space.wrap('end')) - w_obj = space.getattr(w_exc, space.wrap('object')) + w_start = space.getattr(w_exc, space.newtext('start')) + w_end = space.getattr(w_exc, space.newtext('end')) + w_obj = space.getattr(w_exc, space.newtext('object')) except OperationError as e: if not e.match(space, space.w_AttributeError): raise @@ -189,23 +189,23 @@ def ignore_errors(space, w_exc): check_exception(space, w_exc) - w_end = space.getattr(w_exc, space.wrap('end')) - return space.newtuple([space.wrap(u''), w_end]) + w_end = space.getattr(w_exc, space.newtext('end')) + return space.newtuple([space.newunicode(u''), w_end]) def replace_errors(space, w_exc): check_exception(space, w_exc) - w_start = space.getattr(w_exc, space.wrap('start')) - w_end = space.getattr(w_exc, space.wrap('end')) + w_start = space.getattr(w_exc, space.newtext('start')) + w_end = space.getattr(w_exc, space.newtext('end')) size = space.int_w(w_end) - space.int_w(w_start) if space.isinstance_w(w_exc, space.w_UnicodeEncodeError): text = u'?' * size - return space.newtuple([space.wrap(text), w_end]) + return space.newtuple([space.newunicode(text), w_end]) elif space.isinstance_w(w_exc, space.w_UnicodeDecodeError): text = u'\ufffd' - return space.newtuple([space.wrap(text), w_end]) + return space.newtuple([space.newunicode(text), w_end]) elif space.isinstance_w(w_exc, space.w_UnicodeTranslateError): text = u'\ufffd' * size - return space.newtuple([space.wrap(text), w_end]) + return space.newtuple([space.newunicode(text), w_end]) else: raise oefmt(space.w_TypeError, "don't know how to handle %T in error callback", w_exc) @@ -213,9 +213,9 @@ def xmlcharrefreplace_errors(space, w_exc): check_exception(space, w_exc) if space.isinstance_w(w_exc, space.w_UnicodeEncodeError): - obj = space.realunicode_w(space.getattr(w_exc, space.wrap('object'))) - start = space.int_w(space.getattr(w_exc, space.wrap('start'))) - w_end = space.getattr(w_exc, space.wrap('end')) + obj = space.realunicode_w(space.getattr(w_exc, space.newtext('object'))) + start = space.int_w(space.getattr(w_exc, space.newtext('start'))) + w_end = space.getattr(w_exc, space.newtext('end')) end = space.int_w(w_end) builder = UnicodeBuilder() pos = start @@ -231,7 +231,7 @@ builder.append(unicode(str(code))) builder.append(u";") pos += 1 - return space.newtuple([space.wrap(builder.build()), w_end]) + return space.newtuple([space.newunicode(builder.build()), w_end]) else: raise oefmt(space.w_TypeError, "don't know how to handle %T in error callback", w_exc) @@ -239,9 +239,9 @@ def backslashreplace_errors(space, w_exc): check_exception(space, w_exc) if space.isinstance_w(w_exc, space.w_UnicodeEncodeError): - obj = space.realunicode_w(space.getattr(w_exc, space.wrap('object'))) - start = space.int_w(space.getattr(w_exc, space.wrap('start'))) - w_end = space.getattr(w_exc, space.wrap('end')) + obj = space.realunicode_w(space.getattr(w_exc, space.newtext('object'))) + start = space.int_w(space.getattr(w_exc, space.newtext('start'))) + w_end = space.getattr(w_exc, space.newtext('end')) end = space.int_w(w_end) builder = UnicodeBuilder() pos = start @@ -263,7 +263,7 @@ builder.append_multiple_char(u'0', nb) builder.append_slice(unicode(num), 2, lnum) pos += 1 - return space.newtuple([space.wrap(builder.build()), w_end]) + return space.newtuple([space.newunicode(builder.build()), w_end]) else: raise oefmt(space.w_TypeError, "don't know how to handle %T in error callback", w_exc) @@ -309,19 +309,19 @@ encoding = space.sys.defaultencoding else: encoding = space.str_w(w_encoding) - w_encoder = space.getitem(lookup_codec(space, encoding), space.wrap(0)) - w_res = space.call_function(w_encoder, w_obj, space.wrap(errors)) - return space.getitem(w_res, space.wrap(0)) + w_encoder = space.getitem(lookup_codec(space, encoding), space.newint(0)) + w_res = space.call_function(w_encoder, w_obj, space.newtext(errors)) + return space.getitem(w_res, space.newint(0)) @unwrap_spec(errors='str_or_None') def readbuffer_encode(space, w_data, errors='strict'): s = space.getarg_w('s#', w_data) - return space.newtuple([space.newbytes(s), space.wrap(len(s))]) + return space.newtuple([space.newbytes(s), space.newint(len(s))]) @unwrap_spec(errors='str_or_None') def charbuffer_encode(space, w_data, errors='strict'): s = space.getarg_w('t#', w_data) - return space.newtuple([space.wrap(s), space.wrap(len(s))]) + return space.newtuple([space.newbytes(s), space.newint(len(s))]) @unwrap_spec(errors=str) def decode(space, w_obj, w_encoding=None, errors='strict'): @@ -338,13 +338,13 @@ encoding = space.sys.defaultencoding else: encoding = space.str_w(w_encoding) - w_decoder = space.getitem(lookup_codec(space, encoding), space.wrap(1)) + w_decoder = space.getitem(lookup_codec(space, encoding), space.newint(1)) if space.is_true(w_decoder): - w_res = space.call_function(w_decoder, w_obj, space.wrap(errors)) + w_res = space.call_function(w_decoder, w_obj, space.newtext(errors)) if (not space.isinstance_w(w_res, space.w_tuple) or space.len_w(w_res) != 2): raise oefmt(space.w_TypeError, "encoder must return a tuple (object, integer)") - return space.getitem(w_res, space.wrap(0)) + return space.getitem(w_res, space.newint(0)) else: assert 0, "XXX, what to do here?" @@ -379,7 +379,7 @@ state = space.fromcache(CodecState) func = getattr(runicode, rname) result = func(uni, len(uni), errors, state.encode_error_handler) - return space.newtuple([space.newbytes(result), space.wrap(len(uni))]) + return space.newtuple([space.newbytes(result), space.newint(len(uni))]) wrap_encoder.func_name = rname globals()[name] = wrap_encoder @@ -396,7 +396,7 @@ func = getattr(runicode, rname) result, consumed = func(string, len(string), errors, final, state.decode_error_handler) - return space.newtuple([space.wrap(result), space.wrap(consumed)]) + return space.newtuple([space.newunicode(result), space.newint(consumed)]) wrap_decoder.func_name = rname globals()[name] = wrap_decoder @@ -444,7 +444,7 @@ result = runicode.unicode_encode_utf_8( uni, len(uni), errors, state.encode_error_handler, allow_surrogates=True) - return space.newtuple([space.wrap(result), space.wrap(len(uni))]) + return space.newtuple([space.newbytes(result), space.newint(len(uni))]) @unwrap_spec(string='bufferstr', errors='str_or_None', w_final = WrappedDefault(False)) @@ -457,7 +457,7 @@ string, len(string), errors, final, state.decode_error_handler, allow_surrogates=True) - return space.newtuple([space.wrap(result), space.wrap(consumed)]) + return space.newtuple([space.newunicode(result), space.newint(consumed)]) @unwrap_spec(data='bufferstr', errors='str_or_None', byteorder=int, w_final=WrappedDefault(False)) @@ -477,8 +477,8 @@ consumed = 0 res, consumed, byteorder = runicode.str_decode_utf_16_helper( data, len(data), errors, final, state.decode_error_handler, byteorder) - return space.newtuple([space.wrap(res), space.wrap(consumed), - space.wrap(byteorder)]) + return space.newtuple([space.newunicode(res), space.newint(consumed), + space.newtext(byteorder)]) @unwrap_spec(data='bufferstr', errors='str_or_None', byteorder=int, w_final=WrappedDefault(False)) @@ -496,8 +496,8 @@ consumed = 0 res, consumed, byteorder = runicode.str_decode_utf_32_helper( data, len(data), errors, final, state.decode_error_handler, byteorder) - return space.newtuple([space.wrap(res), space.wrap(consumed), - space.wrap(byteorder)]) + return space.newtuple([space.newunicode(res), space.newint(consumed), + space.newtext(byteorder)]) # ____________________________________________________________ # Charmap @@ -583,7 +583,7 @@ if errors is None: errors = 'strict' if len(string) == 0: - return space.newtuple([space.wrap(u''), space.wrap(0)]) + return space.newtuple([space.newunicode(u''), space.newint(0)]) if space.is_none(w_mapping): mapping = None @@ -595,7 +595,7 @@ result, consumed = runicode.str_decode_charmap( string, len(string), errors, final, state.decode_error_handler, mapping) - return space.newtuple([space.wrap(result), space.wrap(consumed)]) + return space.newtuple([space.newunicode(result), space.newint(consumed)]) @unwrap_spec(uni=unicode, errors='str_or_None') def charmap_encode(space, uni, errors="strict", w_mapping=None): @@ -610,7 +610,7 @@ result = runicode.unicode_encode_charmap( uni, len(uni), errors, state.encode_error_handler, mapping) - return space.newtuple([space.newbytes(result), space.wrap(len(uni))]) + return space.newtuple([space.newbytes(result), space.newint(len(uni))]) @unwrap_spec(chars=unicode) @@ -633,7 +633,7 @@ def call(self, name): space = self.space try: - w_code = space.call_function(self.w_getcode, space.wrap(name)) + w_code = space.call_function(self.w_getcode, space.newtext(name)) except OperationError as e: if not e.match(space, space.w_KeyError): raise @@ -655,7 +655,7 @@ final, state.decode_error_handler, unicode_name_handler) - return space.newtuple([space.wrap(result), space.wrap(consumed)]) + return space.newtuple([space.newunicode(result), space.newint(consumed)]) # ____________________________________________________________ # Unicode-internal @@ -671,14 +671,14 @@ string = space.readbuf_w(w_string).as_str() if len(string) == 0: - return space.newtuple([space.wrap(u''), space.wrap(0)]) + return space.newtuple([space.newunicode(u''), space.newint(0)]) final = True state = space.fromcache(CodecState) result, consumed = runicode.str_decode_unicode_internal( string, len(string), errors, final, state.decode_error_handler) - return space.newtuple([space.wrap(result), space.wrap(consumed)]) + return space.newtuple([space.newunicode(result), space.newint(consumed)]) # ____________________________________________________________ # support for the "string escape" codec @@ -691,11 +691,11 @@ start = 1 end = len(result) - 1 assert end >= 0 - w_result = space.wrap(result[start:end]) - return space.newtuple([w_result, space.wrap(len(data))]) + w_result = space.newbytes(result[start:end]) + return space.newtuple([w_result, space.newint(len(data))]) @unwrap_spec(data=str, errors='str_or_None') def escape_decode(space, data, errors='strict'): from pypy.interpreter.pyparser.parsestring import PyString_DecodeEscape result = PyString_DecodeEscape(space, data, errors, None) - return space.newtuple([space.newbytes(result), space.wrap(len(data))]) + return space.newtuple([space.newbytes(result), space.newint(len(data))]) diff --git a/pypy/module/_multibytecodec/interp_multibytecodec.py b/pypy/module/_multibytecodec/interp_multibytecodec.py --- a/pypy/module/_multibytecodec/interp_multibytecodec.py +++ b/pypy/module/_multibytecodec/interp_multibytecodec.py @@ -24,8 +24,8 @@ raise wrap_unicodedecodeerror(space, e, input, self.name) except RuntimeError: raise wrap_runtimeerror(space) - return space.newtuple([space.wrap(output), - space.wrap(len(input))]) + return space.newtuple([space.newunicode(output), + space.newint(len(input))]) @unwrap_spec(input=unicode, errors="str_or_None") def encode(self, space, input, errors=None): @@ -41,7 +41,7 @@ except RuntimeError: raise wrap_runtimeerror(space) return space.newtuple([space.newbytes(output), - space.wrap(len(input))]) + space.newint(len(input))]) MultibyteCodec.typedef = TypeDef( @@ -58,28 +58,28 @@ codec = c_codecs.getcodec(name) except KeyError: raise oefmt(space.w_LookupError, "no such codec is supported.") - return space.wrap(MultibyteCodec(name, codec)) + return MultibyteCodec(name, codec) def wrap_unicodedecodeerror(space, e, input, name): return OperationError( space.w_UnicodeDecodeError, space.newtuple([ - space.wrap(name), + space.newtext(name), space.newbytes(input), - space.wrap(e.start), - space.wrap(e.end), - space.wrap(e.reason)])) + space.newint(e.start), + space.newint(e.end), + space.newtext(e.reason)])) def wrap_unicodeencodeerror(space, e, input, name): raise OperationError( space.w_UnicodeEncodeError, space.newtuple([ - space.wrap(name), - space.wrap(input), - space.wrap(e.start), - space.wrap(e.end), - space.wrap(e.reason)])) + space.newtext(name), + space.newunicode(input), + space.newint(e.start), + space.newint(e.end), + space.newtext(e.reason)])) def wrap_runtimeerror(space): raise oefmt(space.w_RuntimeError, "internal codec error") _______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit