From f0fc5643e9eb4110fa2ec3bacb6340c89e4f9e23 Mon Sep 17 00:00:00 2001 From: blitzmann Date: Mon, 17 Apr 2017 20:30:03 -0400 Subject: [PATCH] Return and save sec status for character when updating skills --- eos/db/saveddata/character.py | 3 ++- eos/saveddata/character.py | 4 +++- service/character.py | 5 +++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/eos/db/saveddata/character.py b/eos/db/saveddata/character.py index 61c57b827..b96ca93cc 100644 --- a/eos/db/saveddata/character.py +++ b/eos/db/saveddata/character.py @@ -17,7 +17,7 @@ # along with eos. If not, see . # =============================================================================== -from sqlalchemy import Table, Column, Integer, ForeignKey, String, DateTime +from sqlalchemy import Table, Column, Integer, ForeignKey, String, DateTime, Float from sqlalchemy.orm import relation, mapper import sqlalchemy.sql.functions as func @@ -38,6 +38,7 @@ characters_table = Table("characters", saveddata_meta, Column("defaultLevel", Integer, nullable=True), Column("alphaCloneID", Integer, nullable=True), Column("ownerID", ForeignKey("users.ID"), nullable=True), + Column("secStatus", Float, nullable=True, default=0.0), Column("created", DateTime, nullable=True, default=func.now()), Column("modified", DateTime, nullable=True, onupdate=func.now())) diff --git a/eos/saveddata/character.py b/eos/saveddata/character.py index f962e891a..bb316e01d 100644 --- a/eos/saveddata/character.py +++ b/eos/saveddata/character.py @@ -43,6 +43,7 @@ class Character(object): self.__skillIdMap = {} self.dirtySkills = set() self.alphaClone = None + self.secStatus = 0.0 if initSkills: for item in self.getSkillList(): @@ -116,11 +117,12 @@ class Character(object): return all0 - def apiUpdateCharSheet(self, skills): + def apiUpdateCharSheet(self, skills, secStatus): del self.__skills[:] self.__skillIdMap.clear() for skillRow in skills: self.addSkill(Skill(skillRow["typeID"], skillRow["level"])) + self.secStatus = secStatus @property def ro(self): diff --git a/service/character.py b/service/character.py index 717a33dc2..602bcb273 100644 --- a/service/character.py +++ b/service/character.py @@ -459,7 +459,6 @@ class UpdateAPIThread(threading.Thread): self.charName = charName def run(self): - print "in thread" try: dbChar = eos.db.getCharacter(self.charID) dbChar.defaultChar = self.charName @@ -471,13 +470,15 @@ class UpdateAPIThread(threading.Thread): for char in apiResult.characters: if char.name == self.charName: charID = char.characterID + break if charID is None: return sheet = auth.character(charID).CharacterSheet() + charInfo = api.eve.CharacterInfo(characterID=charID) - dbChar.apiUpdateCharSheet(sheet.skills) + dbChar.apiUpdateCharSheet(sheet.skills, charInfo.securityStatus) self.callback[0](self.callback[1]) except Exception: self.callback[0](self.callback[1], sys.exc_info())