def init__Bytearray(space, w_bytearray, __args__): # this is on the silly side w_source, w_encoding, w_errors = __args__.parse_obj( None, 'bytearray', init_signature, init_defaults) if w_source is None: w_source = space.wrap('') if w_encoding is None: w_encoding = space.w_None if w_errors is None: w_errors = space.w_None # Unicode argument if not space.is_w(w_encoding, space.w_None): from pypy.objspace.std.unicodetype import ( _get_encoding_and_errors, encode_object ) encoding, errors = _get_encoding_and_errors(space, w_encoding, w_errors) # if w_source is an integer this correctly raises a TypeError # the CPython error message is: "encoding or errors without a string argument" # ours is: "expected unicode, got int object" w_source = encode_object(space, w_source, encoding, errors) # Is it an int? try: count = space.int_w(w_source) except OperationError, e: if not e.match(space, space.w_TypeError): raise
def str_decode__String_ANY_ANY(space, w_string, w_encoding=None, w_errors=None): from pypy.objspace.std.unicodetype import _get_encoding_and_errors, \ unicode_from_string, decode_object encoding, errors = _get_encoding_and_errors(space, w_encoding, w_errors) if encoding is None and errors is None: return unicode_from_string(space, w_string) return decode_object(space, w_string, encoding, errors)
def init__Bytearray(space, w_bytearray, __args__): # this is on the silly side w_source, w_encoding, w_errors = __args__.parse_obj( None, 'bytearray', init_signature, init_defaults) if w_source is None: w_source = space.wrap('') if w_encoding is None: w_encoding = space.w_None if w_errors is None: w_errors = space.w_None # Unicode argument if not space.is_w(w_encoding, space.w_None): from pypy.objspace.std.unicodetype import (_get_encoding_and_errors, encode_object) encoding, errors = _get_encoding_and_errors(space, w_encoding, w_errors) # if w_source is an integer this correctly raises a TypeError # the CPython error message is: "encoding or errors without a string argument" # ours is: "expected unicode, got int object" w_source = encode_object(space, w_source, encoding, errors) # Is it an int? try: count = space.int_w(w_source) except OperationError, e: if not e.match(space, space.w_TypeError): raise
def str_encode__String_ANY_ANY(space, w_string, w_encoding=None, w_errors=None): from pypy.objspace.std.unicodetype import _get_encoding_and_errors, \ encode_object encoding, errors = _get_encoding_and_errors(space, w_encoding, w_errors) return encode_object(space, w_string, encoding, errors)
def unicode_encode__RopeUnicode_ANY_ANY(space, w_unistr, w_encoding=None, w_errors=None): from pypy.objspace.std.unicodetype import getdefaultencoding, _get_encoding_and_errors encoding, errors = _get_encoding_and_errors(space, w_encoding, w_errors) if encoding is None: encoding = getdefaultencoding(space) return encode_unicode(space, w_unistr, encoding, errors)
def unicode_encode__Unicode_ANY_ANY(space, w_unistr, w_encoding=None, w_errors=None): from pypy.objspace.std.unicodetype import _get_encoding_and_errors from pypy.objspace.std.unicodetype import encode_object encoding, errors = _get_encoding_and_errors(space, w_encoding, w_errors) w_retval = encode_object(space, w_unistr, encoding, errors) return w_retval
def unicode_encode__RopeUnicode_ANY_ANY(space, w_unistr, w_encoding=None, w_errors=None): from pypy.objspace.std.unicodetype import getdefaultencoding, \ _get_encoding_and_errors encoding, errors = _get_encoding_and_errors(space, w_encoding, w_errors) if encoding is None: encoding = getdefaultencoding(space) return encode_unicode(space, w_unistr, encoding, errors)
def str_decode__Rope_ANY_ANY(space, w_string, w_encoding=None, w_errors=None): from pypy.objspace.std.unicodetype import _get_encoding_and_errors, \ getdefaultencoding if space.config.objspace.std.withropeunicode: from pypy.objspace.std.ropeunicodeobject import decode_string else: from pypy.objspace.std.unicodetype import decode_object as decode_string encoding, errors = _get_encoding_and_errors(space, w_encoding, w_errors) if encoding is None: encoding = getdefaultencoding(space) return decode_string(space, w_string, encoding, errors)
def unicode_encode__Unicode_ANY_ANY(space, w_unistr, w_encoding=None, w_errors=None): from pypy.objspace.std.unicodetype import getdefaultencoding, \ _get_encoding_and_errors, encode_object encoding, errors = _get_encoding_and_errors(space, w_encoding, w_errors) if encoding is None: encoding = getdefaultencoding(space) w_retval = encode_object(space, w_unistr, encoding, errors) return w_retval
def unicode_w(w_self, space): # Use the default encoding. from pypy.objspace.std.unicodetype import (unicode_from_string, decode_object, _get_encoding_and_errors) w_defaultencoding = space.call_function(space.sys.get( 'getdefaultencoding')) encoding, errors = _get_encoding_and_errors(space, w_defaultencoding, space.w_None) if encoding is None and errors is None: return space.unicode_w(unicode_from_string(space, w_self)) return space.unicode_w(decode_object(space, w_self, encoding, errors))