diff --git a/ToolsTales.py b/ToolsTales.py index a5d1014..df18129 100644 --- a/ToolsTales.py +++ b/ToolsTales.py @@ -28,6 +28,7 @@ class ToolsTales: (string.digits, string.ascii_letters, string.punctuation, " ") ) VALID_FILE_NAME = r"([0-9]{2,5})(?:\.)?([1,3])?\.(\w+)$" + VALID_VOICEID = ['VSM_', 'voice_', 'VCT_'] def __init__(self, gameName, tblFile, repo_name): @@ -515,14 +516,14 @@ class ToolsTales: if re.match(self.COMMON_TAG, c): if ":" in c: split = c.split(":") - if split[0][1:] in self.itags.keys(): - bytesFinal += struct.pack("B", self.itags[split[0][1:]]) - bytesFinal += struct.pack(" 0: + new_entry.find("EnglishText").text = entry_found.find("JapaneseText").text + new_entry.find("Status").text = "Editing" + new_entry.find("Notes").text = entry_found.find("Notes").text + + txt=etree.tostring(new_root, encoding="UTF-8", pretty_print=True) + with open(new_XML_path, "wb") as xmlFile: + xmlFile.write(txt) + def create_Entry(self, strings_node, pointer_offset, text): #Add it to the XML node entry_node = etree.SubElement(strings_node, "Entry") etree.SubElement(entry_node,"PointerOffset").text = str(pointer_offset) - etree.SubElement(entry_node,"JapaneseText").text = text - etree.SubElement(entry_node,"EnglishText").text = '' - etree.SubElement(entry_node,"Notes").text = '' + text_split = re.split(self.COMMON_TAG, text) + + if len(text_split) > 1 and any(possible_value in text for possible_value in self.VALID_VOICEID): + etree.SubElement(entry_node,"VoiceId").text = text_split[1] + etree.SubElement(entry_node, "JapaneseText").text = ''.join(text_split[2:]) + else: + etree.SubElement(entry_node, "JapaneseText").text = text + + etree.SubElement(entry_node,"EnglishText") + etree.SubElement(entry_node,"Notes") etree.SubElement(entry_node,"Id").text = str(self.id) self.id = self.id + 1 @@ -578,6 +639,7 @@ class ToolsTales: for s, pointers_offset, text in list_informations: + print(text) self.create_Entry( strings_node, pointers_offset, text) return root @@ -652,7 +714,7 @@ class ToolsTales: final_text = english_text or japanese_text or '' else: final_text = japanese_text or '' - + #print(final_text) #Convert the text values to bytes using TBL, TAGS, COLORS, ... bytes_entry = self.text_to_bytes(final_text)