Return and save sec status for character when updating skills

This commit is contained in:
blitzmann
2017-04-17 20:30:03 -04:00
parent 8c83ac120f
commit f0fc5643e9
3 changed files with 8 additions and 4 deletions

View File

@@ -17,7 +17,7 @@
# along with eos. If not, see <http://www.gnu.org/licenses/>.
# ===============================================================================
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()))

View File

@@ -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):

View File

@@ -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())