-
Notifications
You must be signed in to change notification settings - Fork 5
/
replace_in_dict.py
53 lines (37 loc) · 1.39 KB
/
replace_in_dict.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import io
import re
_text_ = "text"
def xml_to_dict(file):
entries = []
for line in file.readlines():
if "entry" in line:
original = re.search(r'(?<=original=")[^"]*(?=")', line).group(0).replace("&", "&").replace(""", '"')
translated = re.search(r'(?<=translated=")[^"]*(?=")', line).group(0).replace("&", "&")
entries.append((original, translated))
return entries
def read_xml_files():
xml_dict = {
_text_: {},
}
variables_entries = xml_to_dict(io.open("xml/text.xml", 'r', encoding="utf-8"))
for entry in variables_entries:
xml_dict[_text_][entry[0]] = entry[1]
return xml_dict
def write_xml(data_type):
global xml
xml_file = io.open("xml/"+data_type+".xml", 'w', encoding="utf-8")
xml_file.write('<?xml version="1.0" encoding="UTF-8" standalone="yes"?>\n')
xml_file.write('<dictionary>\n')
for original, translated in xml[data_type].items():
xml_file.write("\t<entry original=\"" + original.replace("&", "&").replace('"', """) + "\" translated=\"" + translated.replace("&", "&") + "\"/>\n")
xml_file.write('</dictionary>')
xml = read_xml_files()
values = {
_text_: {},
}
target = "'"
replacement = "`"
for ori, tran in xml[_text_].items():
if target in tran:
xml[_text_][ori] = tran.replace(target, replacement)
write_xml(_text_)