def descr__unicode__(self, space): h_str = support.emjs_to_string(self.handle) _check_error(space, h_str) # The buffer must hold utf8 version of the string, which # might take up to four bytes per character. bufsize = support.emjs_length(h_str) * 4 _check_error(space, bufsize) with rffi.scoped_alloc_buffer(bufsize) as buf: n = support.emjs_read_strn(h_str, buf.raw, buf.size) return space.wrap(buf.str(n).decode("utf-8"))
def descr__repr__(self, space): bufsize = support.emjs_length(self.handle) _check_error(space, bufsize) truncated = False if bufsize > 17: bufsize = 17 truncated = True with rffi.scoped_alloc_buffer(bufsize) as buf: n = support.emjs_read_strn(self.handle, buf.raw, buf.size) strval = buf.str(n) if truncated: strval = strval + "..." return space.wrap("<js.String '%s'>" % (strval, ))
def descr__repr__(self, space): bufsize = support.emjs_length(self.handle) _check_error(space, bufsize) truncated = False if bufsize > 17: bufsize = 17 truncated = True with rffi.scoped_alloc_buffer(bufsize) as buf: n = support.emjs_read_strn(self.handle, buf.raw, buf.size) strval = buf.str(n) if truncated: strval = strval + "..." return space.wrap("<js.String '%s'>" % (strval,))