Skip to content

Commit 64ac084

Browse files
committed
Fixed Unicode characters
1 parent ce111d2 commit 64ac084

File tree

1 file changed

+16
-16
lines changed

1 file changed

+16
-16
lines changed

json_duplicate_keys/__init__.py

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def normalize_key(name, dupSign_start="{{{", dupSign_end="}}}", _isDebug_=False)
2424

2525
if type(dupSign_end) not in [str, unicode]: dupSign_end = "}}}"
2626

27-
return re.sub('{dupSign_start}_\\d+_{dupSign_end}$'.format(dupSign_start=re.escape(dupSign_start), dupSign_end=re.escape(dupSign_end)), "", name)
27+
return re.sub(re.escape(dupSign_start)+'_\\d+_'+re.escape(dupSign_end)+'$', "", name)
2828
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
2929
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
3030
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
@@ -118,13 +118,13 @@ def __convert_Jloads_to_Jobj(Jloads, Jobj):
118118
Jstr = re.sub(r'"([^"]*)"[\s\t\r\n]*([,\]}])'.encode(), '\x04\x05\\1\x04\x05\\2'.encode(), Jstr)
119119

120120

121-
Jstr = re.sub(r'"([^"]+)"[\s\t\r\n]*:'.encode(), r'"\1{dupSign_start}_dupSign_{dupSign_end}":'.format(dupSign_start=dupSign_start_escape, dupSign_end=dupSign_end_escape).encode(), Jstr)
121+
Jstr = re.sub(r'"([^"]+)"[\s\t\r\n]*:'.encode(), (r'"\1'+dupSign_start_escape+'_dupSign_'+dupSign_end_escape+'":').encode(), Jstr)
122122

123-
Jstr = re.sub(r'""[\s\t\r\n]*:'.encode(), '"{dupSign_start}_dupSign_{dupSign_end}":'.format(dupSign_start=dupSign_start_escape, dupSign_end=dupSign_end_escape).encode(), Jstr)
123+
Jstr = re.sub(r'""[\s\t\r\n]*:'.encode(), ('"'+dupSign_start_escape+'_dupSign_'+dupSign_end_escape+'":').encode(), Jstr)
124124

125125
i = 0
126-
while re.search(r'{dupSign_start}_dupSign_{dupSign_end}"[\s\t\r\n]*:'.format(dupSign_start=dupSign_start_escape, dupSign_end=dupSign_end_escape).encode(), Jstr):
127-
Jstr = re.sub(r'{dupSign_start}_dupSign_{dupSign_end}"[\s\t\r\n]*:'.format(dupSign_start=dupSign_start_escape, dupSign_end=dupSign_end_escape).encode(), (dupSign_start_escape+"_"+str(i)+"_"+dupSign_end_escape+'":').encode(), Jstr, 1)
126+
while re.search((dupSign_start_escape+'_dupSign_'+dupSign_end_escape+r'"[\s\t\r\n]*:').encode(), Jstr):
127+
Jstr = re.sub((dupSign_start_escape+'_dupSign_'+dupSign_end_escape+r'"[\s\t\r\n]*:').encode(), (dupSign_start_escape+"_"+str(i)+"_"+dupSign_end_escape+'":').encode(), Jstr, 1)
128128
i += 1
129129

130130
Jstr = re.sub('\x00\x01'.encode(), r'\\\\'.encode(), Jstr)
@@ -135,13 +135,13 @@ def __convert_Jloads_to_Jobj(Jloads, Jobj):
135135
Jstr = re.sub(r'\\"', '\x02\x03', Jstr)
136136
Jstr = re.sub(r'"([^"]*)"[\s\t\r\n]*([,\]}])', '\x04\x05\\1\x04\x05\\2', Jstr)
137137

138-
Jstr = re.sub(r'"([^"]+)"[\s\t\r\n]*:', r'"\1{dupSign_start}_dupSign_{dupSign_end}":'.format(dupSign_start=dupSign_start_escape, dupSign_end=dupSign_end_escape), Jstr)
138+
Jstr = re.sub(r'"([^"]+)"[\s\t\r\n]*:', r'"\1'+dupSign_start_escape+'_dupSign_'+dupSign_end_escape+'":', Jstr)
139139

140-
Jstr = re.sub(r'""[\s\t\r\n]*:', '"{dupSign_start}_dupSign_{dupSign_end}":'.format(dupSign_start=dupSign_start_escape, dupSign_end=dupSign_end_escape), Jstr)
140+
Jstr = re.sub(r'""[\s\t\r\n]*:', '"'+dupSign_start_escape+'_dupSign_'+dupSign_end_escape+'":', Jstr)
141141

142142
i = 0
143-
while re.search(r'{dupSign_start}_dupSign_{dupSign_end}"[\s\t\r\n]*:'.format(dupSign_start=dupSign_start_escape, dupSign_end=dupSign_end_escape), Jstr):
144-
Jstr = re.sub(r'{dupSign_start}_dupSign_{dupSign_end}"[\s\t\r\n]*:'.format(dupSign_start=dupSign_start_escape, dupSign_end=dupSign_end_escape), dupSign_start_escape+"_"+str(i)+"_"+dupSign_end_escape+'":', Jstr, 1)
143+
while re.search(dupSign_start_escape+'_dupSign_'+dupSign_end_escape+r'"[\s\t\r\n]*:', Jstr):
144+
Jstr = re.sub(dupSign_start_escape+'_dupSign_'+dupSign_end_escape+r'"[\s\t\r\n]*:', dupSign_start_escape+"_"+str(i)+"_"+dupSign_end_escape+'":', Jstr, 1)
145145
i += 1
146146

147147
Jstr = re.sub('\x00\x01', r'\\\\', Jstr)
@@ -496,10 +496,10 @@ def filter_keys(self, name, separator="||", parse_index="$", ordered_dict=False)
496496
for k, v in JDKSObject.getObject().items():
497497
if type(k) == str and type(name) == str:
498498
if re.search(name, k):
499-
newJDKSObject.set(k, v, separator="§§"+separator+"§§", parse_index="§§"+parse_index+"§§", ordered_dict=ordered_dict)
499+
newJDKSObject.set(k, v, separator=u"§§"+separator+u"§§", parse_index=u"§§"+parse_index+u"§§", ordered_dict=ordered_dict)
500500
else:
501501
if name == k:
502-
newJDKSObject.set(k, v, separator="§§"+separator+"§§", parse_index="§§"+parse_index+"§§", ordered_dict=ordered_dict)
502+
newJDKSObject.set(k, v, separator=u"§§"+separator+u"§§", parse_index=u"§§"+parse_index+u"§§", ordered_dict=ordered_dict)
503503

504504
return newJDKSObject
505505
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
@@ -518,10 +518,10 @@ def filter_values(self, value, separator="||", parse_index="$", ordered_dict=Fal
518518
for k, v in JDKSObject.getObject().items():
519519
if type(v) == str and type(value) == str:
520520
if re.search(value, v):
521-
newJDKSObject.set(k, v, separator="§§"+separator+"§§", parse_index="§§"+parse_index+"§§", ordered_dict=ordered_dict)
521+
newJDKSObject.set(k, v, separator=u"§§"+separator+u"§§", parse_index=u"§§"+parse_index+u"§§", ordered_dict=ordered_dict)
522522
else:
523523
if value == v:
524-
newJDKSObject.set(k, v, separator="§§"+separator+"§§", parse_index="§§"+parse_index+"§§", ordered_dict=ordered_dict)
524+
newJDKSObject.set(k, v, separator=u"§§"+separator+u"§§", parse_index=u"§§"+parse_index+u"§§", ordered_dict=ordered_dict)
525525

526526
return newJDKSObject
527527
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
@@ -548,7 +548,7 @@ def dumps(self, dupSign_start="{{{", dupSign_end="}}}", _isDebug_=False, skipkey
548548

549549
dupSign_end_escape_regex = re.escape(json.dumps({dupSign_end:""})[2:-6])
550550

551-
return re.sub('{dupSign_start}_\\d+_{dupSign_end}":'.format(dupSign_start=dupSign_start_escape_regex, dupSign_end=dupSign_end_escape_regex), '":', json.dumps(self.getObject(), skipkeys=skipkeys, ensure_ascii=ensure_ascii, check_circular=check_circular, allow_nan=allow_nan, cls=cls, indent=indent, separators=separators, default=default, sort_keys=sort_keys))
551+
return re.sub(dupSign_start_escape_regex+'_\\d+_'+dupSign_end_escape_regex+'":', '":', json.dumps(self.getObject(), skipkeys=skipkeys, ensure_ascii=ensure_ascii, check_circular=check_circular, allow_nan=allow_nan, cls=cls, indent=indent, separators=separators, default=default, sort_keys=sort_keys))
552552
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
553553
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
554554
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
@@ -604,7 +604,7 @@ def __convert_Jobj_to_Jflat(Jobj, key=None):
604604
else:
605605
for k,v in Jobj.items():
606606
_Jobj = v
607-
_key = "{key}{separator}{k}".format(key=key,separator=separator,k=k) if key != None else "{k}".format(k=k)
607+
_key = key+separator+k if key != None else k
608608

609609
__convert_Jobj_to_Jflat(_Jobj, _key)
610610
elif type(Jobj) == list:
@@ -613,7 +613,7 @@ def __convert_Jobj_to_Jflat(Jobj, key=None):
613613
else:
614614
for i,v in enumerate(Jobj):
615615
_Jobj = v
616-
_key = "{key}{separator}{parse_index}{i}{parse_index}".format(key=key, separator=separator, parse_index=parse_index, i=i) if key != None else "{parse_index}{i}{parse_index}".format(parse_index=parse_index, i=i)
616+
_key = key+separator+parse_index+str(i)+parse_index if key != None else parse_index+str(i)+parse_index
617617

618618
__convert_Jobj_to_Jflat(_Jobj, _key)
619619
else:

0 commit comments

Comments
 (0)