all_cso_relationships.py (2407B)
1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\client\script\ui\services\alliances\all_cso_relationships.py 2 import blue 3 from eve.client.script.ui.services.alliances.all_cso_base import BaseAllianceObject 4 from eve.client.script.ui.shared.neocom.corporation import corpUISignals 5 6 class AllianceRelationshipsO(BaseAllianceObject): 7 __guid__ = 'allianceObject.relationships' 8 9 def __init__(self, boundObject): 10 BaseAllianceObject.__init__(self, boundObject) 11 self.relationships = None 12 13 def DoSessionChanging(self, isRemote, session, change): 14 if 'allianceid' in change: 15 self.relationships = None 16 17 def Get(self): 18 if self.relationships is None: 19 self.relationships = self.GetMoniker().GetRelationships() 20 return self.relationships 21 22 def Set(self, relationship, toID): 23 relationships = self.Get() 24 if toID in relationships: 25 if relationships[toID] == relationship: 26 return 27 self.GetMoniker().SetRelationship(relationship, toID) 28 29 def Delete(self, toID): 30 relationships = self.Get() 31 if toID not in relationships: 32 return 33 return self.GetMoniker().DeleteRelationship(toID) 34 35 def OnAllianceRelationshipChanged(self, allianceID, toID, change): 36 if allianceID != session.allianceid: 37 return 38 bAdd, bRemove = self.GetAddRemoveFromChange(change) 39 if self.relationships is not None: 40 if bAdd: 41 if len(change) != len(self.relationships.columns): 42 self.LogWarn('IncorrectNumberOfColumns ignoring change as Add change:', change) 43 return 44 line = [] 45 for columnName in self.relationships.columns: 46 line.append(change[columnName][1]) 47 48 self.relationships[toID] = blue.DBRow(self.relationships.header, line) 49 else: 50 if toID not in self.relationships: 51 return 52 if bRemove: 53 del self.relationships[toID] 54 else: 55 member = self.relationships[toID] 56 for columnName in change.iterkeys(): 57 setattr(member, columnName[0], change[columnName][1]) 58 59 corpUISignals.on_alliance_relationship_changed(allianceID, toID, change)