forked from Hay1tsme/artemis
fixed read failures in older chuni versions where sortname doesn't exist. Also noticed some character import errors associated with &
This commit is contained in:
@ -303,7 +303,7 @@ class ChuniReader(BaseReader):
|
|||||||
for name in xml_root.findall("name"):
|
for name in xml_root.findall("name"):
|
||||||
id = name.find("id").text
|
id = name.find("id").text
|
||||||
name = name.find("str").text
|
name = name.find("str").text
|
||||||
sortName = xml_root.find("sortName").text
|
sortName = name if xml_root.find("sortName") is None else xml_root.find("sortName").text
|
||||||
defaultHave = xml_root.find("defaultHave").text == 'true'
|
defaultHave = xml_root.find("defaultHave").text == 'true'
|
||||||
disableFlag = xml_root.find("disableFlag") # may not exist in older data
|
disableFlag = xml_root.find("disableFlag") # may not exist in older data
|
||||||
is_enabled = True if (disableFlag is None or disableFlag.text == "false") else False
|
is_enabled = True if (disableFlag is None or disableFlag.text == "false") else False
|
||||||
@ -352,12 +352,15 @@ class ChuniReader(BaseReader):
|
|||||||
if path.exists(f"{root}/{dir}/Chara.xml"):
|
if path.exists(f"{root}/{dir}/Chara.xml"):
|
||||||
with open(f"{root}/{dir}/Chara.xml", "r", encoding='utf-8') as fp:
|
with open(f"{root}/{dir}/Chara.xml", "r", encoding='utf-8') as fp:
|
||||||
strdata = fp.read()
|
strdata = fp.read()
|
||||||
|
# ET may choke if there is a & symbol (which is present in some character xml)
|
||||||
|
if "&" in strdata:
|
||||||
|
strdata = strdata.replace("&", "&")
|
||||||
|
|
||||||
xml_root = ET.fromstring(strdata)
|
xml_root = ET.fromstring(strdata)
|
||||||
for name in xml_root.findall("name"):
|
for name in xml_root.findall("name"):
|
||||||
id = name.find("id").text
|
id = name.find("id").text
|
||||||
name = name.find("str").text
|
name = name.find("str").text
|
||||||
sortName = xml_root.find("sortName").text
|
sortName = name if xml_root.find("sortName") is None else xml_root.find("sortName").text
|
||||||
for work in xml_root.findall("works"):
|
for work in xml_root.findall("works"):
|
||||||
worksName = work.find("str").text
|
worksName = work.find("str").text
|
||||||
rareType = xml_root.find("rareType").text
|
rareType = xml_root.find("rareType").text
|
||||||
@ -401,7 +404,7 @@ class ChuniReader(BaseReader):
|
|||||||
for name in xml_root.findall("name"):
|
for name in xml_root.findall("name"):
|
||||||
id = name.find("id").text
|
id = name.find("id").text
|
||||||
name = name.find("str").text
|
name = name.find("str").text
|
||||||
sortName = xml_root.find("sortName").text
|
sortName = name if xml_root.find("sortName") is None else xml_root.find("sortName").text
|
||||||
for image in xml_root.findall("image"):
|
for image in xml_root.findall("image"):
|
||||||
iconPath = image.find("path").text
|
iconPath = image.find("path").text
|
||||||
self.copy_image(iconPath, f"{root}/{dir}", "titles/chuni/img/mapIcon/")
|
self.copy_image(iconPath, f"{root}/{dir}", "titles/chuni/img/mapIcon/")
|
||||||
@ -429,7 +432,7 @@ class ChuniReader(BaseReader):
|
|||||||
for name in xml_root.findall("name"):
|
for name in xml_root.findall("name"):
|
||||||
id = name.find("id").text
|
id = name.find("id").text
|
||||||
name = name.find("str").text
|
name = name.find("str").text
|
||||||
sortName = xml_root.find("sortName").text
|
sortName = name if xml_root.find("sortName") is None else xml_root.find("sortName").text
|
||||||
for image in xml_root.findall("image"):
|
for image in xml_root.findall("image"):
|
||||||
imagePath = image.find("path").text
|
imagePath = image.find("path").text
|
||||||
self.copy_image(imagePath, f"{root}/{dir}", "titles/chuni/img/systemVoice/")
|
self.copy_image(imagePath, f"{root}/{dir}", "titles/chuni/img/systemVoice/")
|
||||||
|
Reference in New Issue
Block a user