def test_preallocate(self): from __pypy__.builders import UnicodeBuilder b = UnicodeBuilder(10) b.append(u"abc") b.append(u"123") s = b.build() assert s == u"abc123"
def pypy_json_encode(value, pretty=False): """ pypy DOES NOT OPTIMIZE GENERATOR CODE WELL """ global _dealing_with_problem if pretty: return pretty_json(value) try: _buffer = UnicodeBuilder(2048) _value2json(value, _buffer) output = _buffer.build() return output except Exception as e: # THE PRETTY JSON WILL PROVIDE MORE DETAIL ABOUT THE SERIALIZATION CONCERNS from mo_logs import Log if _dealing_with_problem: Log.error("Serialization of JSON problems", e) else: Log.warning("Serialization of JSON problems", e) _dealing_with_problem = True try: return pretty_json(value) except Exception as f: Log.error("problem serializing object", f) finally: _dealing_with_problem = False
def append(self, string): if (isinstance(string, unicode) and type(self._builder) is StringBuilder): ub = UnicodeBuilder() ub.append(self._builder.build()) self._builder = ub self.append = ub.append # shortcut only self._builder.append(string)
def append(self, string): try: self._builder.append(string) except UnicodeEncodeError: ub = UnicodeBuilder() ub.append(self._builder.build()) self._builder = ub ub.append(string)
def test_append_slice(self): from __pypy__.builders import UnicodeBuilder b = UnicodeBuilder() b.append_slice(u"abcdefgh", 2, 5) raises(ValueError, b.append_slice, u"1", 2, 1) s = b.build() assert s == "cde" raises(ValueError, b.append_slice, u"abc", 1, 2)
def test_simple(self): from __pypy__.builders import UnicodeBuilder b = UnicodeBuilder() b.append(u"abc") b.append(u"123") b.append(u"1") s = b.build() assert s == u"abc1231" raises(ValueError, b.build) raises(ValueError, b.append, u"123")
def test_simple(self): from __pypy__.builders import UnicodeBuilder b = UnicodeBuilder() b.append(u"abc") b.append(u"123") b.append(u"1") s = b.build() assert s == u"abc1231" assert b.build() == s b.append(u"123") assert b.build() == s + u"123"
def encode(self, o): """Return a JSON string representation of a Python data structure. >>> JSONEncoder().encode({"foo": ["bar", "baz"]}) '{"foo": ["bar", "baz"]}' """ if self.check_circular: markers = {} else: markers = None if self.ensure_ascii: builder = StringBuilder() else: builder = UnicodeBuilder() self._encode(o, markers, builder, 0) return builder.build()
def encode(self, value, pretty=False): if pretty: return pretty_json(value) try: _buffer = UnicodeBuilder(1024) _value2json(value, _buffer) output = _buffer.build() return output except Exception, e: #THE PRETTY JSON WILL PROVIDE MORE DETAIL ABOUT THE SERIALIZATION CONCERNS from .env.logs import Log try: pretty_json(value) except Exception, f: Log.error("problem serializing object", f)
def encode(value, pretty=False): """ pypy DOES NOT OPTIMIZE GENERATOR CODE WELL """ if pretty: return pretty_json(value) try: _buffer = UnicodeBuilder(1024) _value2json(value, _buffer) output = _buffer.build() return output except Exception, e: # THE PRETTY JSON WILL PROVIDE MORE DETAIL ABOUT THE SERIALIZATION CONCERNS from .env.logs import Log Log.warning("Serialization of JSON problems", e) try: return pretty_json(value) except Exception, f: Log.error("problem serializing object", f)
def test_encode(self): from __pypy__.builders import UnicodeBuilder b = UnicodeBuilder() raises(UnicodeDecodeError, b.append, b'\xc0')