From fa64ed904d2808e66b979899053b3bda21a01cc5 Mon Sep 17 00:00:00 2001 From: Martin Falatic Date: Thu, 20 Jun 2013 00:44:19 -0700 Subject: [PATCH] Fixed skills exporter to remove duplicates that confuse EVEMon --- service/character.py | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/service/character.py b/service/character.py index 87f4f17b2..97c55ec0a 100644 --- a/service/character.py +++ b/service/character.py @@ -99,17 +99,24 @@ class Character(): sorts.attrib["criteria"] = "None" sorts.attrib["order"] = "None" sorts.attrib["groupByPriority"] = "false" - - for s in self.skillReqsDict['skills']: - entry = ElementTree.SubElement(root, "entry") - entry.attrib["skillID"] = str(s["skillID"]) - entry.attrib["skill"] = s["skill"] - entry.attrib["level"] = str(int(s["level"])) - entry.attrib["priority"] = "3" - entry.attrib["type"] = "Prerequisite" - notes = ElementTree.SubElement(entry, "notes") - notes.text = entry.attrib["skill"] + skillsSeen = set() + + for s in self.skillReqsDict['skills']: + skillKey = str(s["skillID"])+"::"+s["skill"]+"::"+str(int(s["level"])) + if skillKey in skillsSeen: + pass # Duplicate skills confuse EVEMon + else: + skillsSeen.add(skillKey) + entry = ElementTree.SubElement(root, "entry") + entry.attrib["skillID"] = str(s["skillID"]) + entry.attrib["skill"] = s["skill"] + entry.attrib["level"] = str(int(s["level"])) + entry.attrib["priority"] = "3" + entry.attrib["type"] = "Prerequisite" + notes = ElementTree.SubElement(entry, "notes") + notes.text = entry.attrib["skill"] + tree = ElementTree.ElementTree(root) data = ElementTree.tostring(root, 'utf-8') prettydata = minidom.parseString(data).toprettyxml(indent=" ")