Optimize fleet stuff
This commit is contained in:
2
eos
2
eos
Submodule eos updated: ff0ffa77ff...6efa234c66
@@ -171,14 +171,20 @@ class Fit(object):
|
||||
def getFit(self, fitID):
|
||||
if fitID is None:
|
||||
return None
|
||||
|
||||
fit = eos.db.getFit(fitID)
|
||||
sFlt = Fleet.getInstance()
|
||||
if sFlt.isInLinearFleet(fit) is False:
|
||||
sFlt.removeAssociatedFleetData(fit)
|
||||
self.recalc(fit)
|
||||
fit.fill()
|
||||
eos.db.commit()
|
||||
inited = getattr(fit, "inited", None)
|
||||
if inited is None or inited is False:
|
||||
sFlt = Fleet.getInstance()
|
||||
f = sFlt.getLinearFleet(fit)
|
||||
if f is None:
|
||||
sFlt.removeAssociatedFleetData(fit)
|
||||
fit.fleet = None
|
||||
else:
|
||||
fit.fleet = f
|
||||
self.recalc(fit)
|
||||
fit.fill()
|
||||
eos.db.commit()
|
||||
fit.inited = True
|
||||
return fit
|
||||
|
||||
def searchFits(self, name):
|
||||
@@ -645,7 +651,4 @@ class Fit(object):
|
||||
|
||||
def recalc(self, fit):
|
||||
fit.clear()
|
||||
if fit.fleet is not None:
|
||||
fit.fleet.recalculateLinear()
|
||||
else:
|
||||
fit.calculateModifiedAttributes()
|
||||
fit.calculateModifiedAttributes()
|
||||
|
||||
@@ -83,7 +83,7 @@ class Fleet(object):
|
||||
def setLinearFleetCom(self, boostee, booster):
|
||||
if boostee == booster:
|
||||
return
|
||||
if self.isInLinearFleet(boostee) is False:
|
||||
if self.getLinearFleet(boostee) is None:
|
||||
self.removeAssociatedFleetData(boostee)
|
||||
self.makeLinearFleet(boostee)
|
||||
squadIDs = set(eos.db.getSquadsIDsWithFitID(boostee.ID))
|
||||
@@ -97,7 +97,7 @@ class Fleet(object):
|
||||
def setLinearWingCom(self, boostee, booster):
|
||||
if boostee == booster:
|
||||
return
|
||||
if self.isInLinearFleet(boostee) is False:
|
||||
if self.getLinearFleet(boostee) is None:
|
||||
self.removeAssociatedFleetData(boostee)
|
||||
self.makeLinearFleet(boostee)
|
||||
squadIDs = set(eos.db.getSquadsIDsWithFitID(boostee.ID))
|
||||
@@ -111,7 +111,7 @@ class Fleet(object):
|
||||
def setLinearSquadCom(self, boostee, booster):
|
||||
if boostee == booster:
|
||||
return
|
||||
if self.isInLinearFleet(boostee) is False:
|
||||
if self.getLinearFleet(boostee) is None:
|
||||
self.removeAssociatedFleetData(boostee)
|
||||
self.makeLinearFleet(boostee)
|
||||
squadIDs = set(eos.db.getSquadsIDsWithFitID(boostee.ID))
|
||||
@@ -122,20 +122,20 @@ class Fleet(object):
|
||||
else:
|
||||
self.removeAssociatedFleetData(boostee)
|
||||
|
||||
def isInLinearFleet(self, fit):
|
||||
def getLinearFleet(self, fit):
|
||||
sqIDs = eos.db.getSquadsIDsWithFitID(fit.ID)
|
||||
if len(sqIDs) != 1:
|
||||
return False
|
||||
return None
|
||||
s = eos.db.getSquad(sqIDs[0])
|
||||
if len(s.members) != 1:
|
||||
return False
|
||||
return None
|
||||
w = s.wing
|
||||
if len(w.squads) != 1:
|
||||
return False
|
||||
return None
|
||||
f = w.gang
|
||||
if len(f.wings) != 1:
|
||||
return False
|
||||
return True
|
||||
return None
|
||||
return f
|
||||
|
||||
def removeAssociatedFleetData(self, fit):
|
||||
squadIDs = set(eos.db.getSquadsIDsWithFitID(fit.ID))
|
||||
@@ -172,7 +172,7 @@ class Fleet(object):
|
||||
return True
|
||||
|
||||
def loadLinearFleet(self, fit):
|
||||
if self.isInLinearFleet(fit) is False:
|
||||
if self.getLinearFleet(fit) is None:
|
||||
return None
|
||||
squadID = eos.db.getSquadsIDsWithFitID(fit.ID)[0]
|
||||
s = eos.db.getSquad(squadID)
|
||||
|
||||
Reference in New Issue
Block a user