#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
escapes[i] = u"\\u%04x" % i
def __dump_string(stream, s):
escapes[i] = u"\\u%04x" % i
def __dump_string(stream, s):
def to_stream(obj, stream, pretty=False, sort_keys=True):
if obj is None:
def to_stream(obj, stream, pretty=False, sort_keys=True):
if obj is None:
__dump_string(stream, unicode(key))
stream.write(u":")
to_stream(value, stream, pretty, sort_keys)
stream.write(u"}")
elif type(obj) in (list, tuple):
stream.write(u"[")
__dump_string(stream, unicode(key))
stream.write(u":")
to_stream(value, stream, pretty, sort_keys)
stream.write(u"}")
elif type(obj) in (list, tuple):
stream.write(u"[")
to_stream(value, stream, pretty, sort_keys)
stream.write(u"]")
else:
to_stream(value, stream, pretty, sort_keys)
stream.write(u"]")
else:
def to_file(obj, name, pretty=False, sort_keys=True):
stream = open(name, "w")
def to_file(obj, name, pretty=False, sort_keys=True):
stream = open(name, "w")
- seq = ' '.join(["0x%2x" % ord(c) for c in e.object[e.start:e.end]])
- raise Error("\"%s\" is not a valid UTF-8 string: "
- "invalid UTF-8 sequence %s" % (s, seq),
- tag="constraint violation")
+ seq = ' '.join(["0x%2x" % ord(c)
+ for c in e.object[e.start:e.end] if ord(c) >= 0x80])
+ return ("not a valid UTF-8 string: invalid UTF-8 sequence %s" % seq)