Migrate character editor to use new entity editor.

This commit is contained in:
blitzmann
2016-03-28 21:23:27 -04:00
parent 3315d27d45
commit a3d9d5cca8
9 changed files with 194 additions and 231 deletions

View File

@@ -37,6 +37,7 @@ characters_table = Table("characters", saveddata_meta,
mapper(Character, characters_table,
properties = {
"savedName": characters_table.c.name,
"_Character__owner": relation(
User,
backref = "characters"),

View File

@@ -154,7 +154,7 @@ def getCharacter(lookfor, eager=None):
elif isinstance(lookfor, basestring):
eager = processEager(eager)
with sd_lock:
character = saveddata_session.query(Character).options(*eager).filter(Character.name == lookfor).first()
character = saveddata_session.query(Character).options(*eager).filter(Character.savedName == lookfor).first()
else:
raise TypeError("Need integer or string as argument")
return character

View File

@@ -90,7 +90,7 @@ class Character(object):
return all0
def __init__(self, name, defaultLevel=None, initSkills=True):
self.name = name
self.savedName = name
self.__owner = None
self.defaultLevel = defaultLevel
self.__skills = []
@@ -129,6 +129,14 @@ class Character(object):
def owner(self, owner):
self.__owner = owner
@property
def name(self):
return self.savedName if not self.isDirty else "{} *".format(self.savedName)
@name.setter
def name(self, name):
self.savedName = name
@property
def skills(self):
return self.__skills