From 7ab3ad9e08b2466c3ba392b9b1b79e986afe9306 Mon Sep 17 00:00:00 2001 From: blitzmann Date: Wed, 28 Feb 2018 23:37:58 -0500 Subject: [PATCH 1/3] Don't delete and recreate skills when updating char sheet. Instead, get each individual skill and change level. (cherry picked from commit 55c79c1bafaa9a1b159b73a72c6480f7e8d6cb6b) --- eos/saveddata/character.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/eos/saveddata/character.py b/eos/saveddata/character.py index 4a4d3e7f8..05a585120 100644 --- a/eos/saveddata/character.py +++ b/eos/saveddata/character.py @@ -120,10 +120,10 @@ class Character(object): return all0 def apiUpdateCharSheet(self, skills, secStatus=0): - del self.__skills[:] - self.__skillIdMap.clear() for skillRow in skills: - self.addSkill(Skill(self, skillRow["typeID"], skillRow["level"])) + skill = self.getSkill(int(skillRow["typeID"])) + skill.setLevel(int(skillRow["level"], persist=True, ignoreRestrict=True)) + self.secStatus = secStatus @property From f773e0a935f2ddecb29f9529bb0e72459d3f07a7 Mon Sep 17 00:00:00 2001 From: blitzmann Date: Wed, 28 Feb 2018 23:49:42 -0500 Subject: [PATCH 2/3] fix misplaced parentheses (cherry picked from commit 2a60216a92d39bb200c26bce8573484f54a80dc5) --- eos/saveddata/character.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eos/saveddata/character.py b/eos/saveddata/character.py index 05a585120..1f911f57f 100644 --- a/eos/saveddata/character.py +++ b/eos/saveddata/character.py @@ -122,7 +122,7 @@ class Character(object): def apiUpdateCharSheet(self, skills, secStatus=0): for skillRow in skills: skill = self.getSkill(int(skillRow["typeID"])) - skill.setLevel(int(skillRow["level"], persist=True, ignoreRestrict=True)) + skill.setLevel(int(skillRow["level"]), persist=True, ignoreRestrict=True) self.secStatus = secStatus From ae6434affb373838e7b074d3c128f324e919c289 Mon Sep 17 00:00:00 2001 From: blitzmann Date: Thu, 1 Mar 2018 00:30:08 -0500 Subject: [PATCH 3/3] Fix issue with importing EVE API XML --- service/character.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/service/character.py b/service/character.py index 127e233bb..7001c8e8b 100644 --- a/service/character.py +++ b/service/character.py @@ -66,7 +66,7 @@ class CharacterImportThread(threading.Thread): with open(path, mode='r') as charFile: sheet = ParseXML(charFile) char = sCharacter.new(sheet.name + " (imported)") - sCharacter.apiUpdateCharSheet(char.ID, sheet.skills) + sCharacter.apiUpdateCharSheet(char.ID, sheet.skills, 0) except: # if it's not api XML data, try this # this is a horrible logic flow, but whatever