Return and save sec status for character when updating skills
This commit is contained in:
@@ -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()))
|
||||
|
||||
|
||||
@@ -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):
|
||||
|
||||
@@ -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())
|
||||
|
||||
Reference in New Issue
Block a user