mirror of
https://github.com/python/cpython
synced 2024-10-14 20:45:19 +00:00
[Bug #841757] Patch from /F to allow Unicode strings as struct keys
This commit is contained in:
parent
b12d97c275
commit
5962f457b4
|
@ -688,12 +688,15 @@ def dump_struct(self, value, write, escape=escape):
|
|||
self.memo[i] = None
|
||||
dump = self.__dump
|
||||
write("<value><struct>\n")
|
||||
for k in value.keys():
|
||||
for k, v in value.items():
|
||||
write("<member>\n")
|
||||
if type(k) is not StringType:
|
||||
raise TypeError, "dictionary key must be string"
|
||||
if unicode and type(k) is UnicodeType:
|
||||
k = k.encode(self.encoding)
|
||||
else:
|
||||
raise TypeError, "dictionary key must be string"
|
||||
write("<name>%s</name>\n" % escape(k))
|
||||
dump(value[k], write)
|
||||
dump(v, write)
|
||||
write("</member>\n")
|
||||
write("</struct></value>\n")
|
||||
del self.memo[i]
|
||||
|
|
Loading…
Reference in a new issue