diff --git a/eos/db/saveddata/character.py b/eos/db/saveddata/character.py index f3c6f8f8d..a4c3476ad 100644 --- a/eos/db/saveddata/character.py +++ b/eos/db/saveddata/character.py @@ -23,7 +23,8 @@ import datetime from eos.db import saveddata_meta from eos.db.saveddata.implant import charImplants_table -from eos.effectHandlerHelpers import HandledImplantBoosterList +from eos.db.saveddata.ssoCharacter import sso_character_map_table +from eos.effectHandlerHelpers import HandledImplantBoosterList, HandledSsoCharacterList from eos.saveddata.implant import Implant from eos.saveddata.user import User from eos.saveddata.character import Character, Skill @@ -59,6 +60,15 @@ mapper(Character, characters_table, single_parent=True, primaryjoin=charImplants_table.c.charID == characters_table.c.ID, secondaryjoin=charImplants_table.c.implantID == Implant.ID, - secondary=charImplants_table) + secondary=charImplants_table), + "_Character__ssoCharacters" : relation( + SsoCharacter, + collection_class=HandledSsoCharacterList, + cascade='all,delete-orphan', + backref='character', + single_parent=True, + primaryjoin=sso_character_map_table.c.characterID == characters_table.c.ID, + secondaryjoin=sso_character_map_table.c.ssoCharacterID == SsoCharacter.ID, + secondary=sso_character_map_table) } ) diff --git a/eos/effectHandlerHelpers.py b/eos/effectHandlerHelpers.py index 9d86e51e3..3013ffd7a 100644 --- a/eos/effectHandlerHelpers.py +++ b/eos/effectHandlerHelpers.py @@ -205,6 +205,13 @@ class HandledImplantBoosterList(HandledList): HandledList.append(self, thing) +class HandledSsoCharacterList(HandledList): + def append(self, character): + for x in self: + print(x) + HandledList.append(self, character) + + class HandledProjectedModList(HandledList): def append(self, proj): if proj.isInvalid: