MCPcopy Index your code
hub / github.com/pyfa-org/Pyfa / CalcRemoveCargoCommand

Class CalcRemoveCargoCommand

gui/fitCommands/calc/cargo/remove.py:11–37  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

9
10
11class CalcRemoveCargoCommand(wx.Command):
12
13 def __init__(self, fitID, cargoInfo):
14 wx.Command.__init__(self, True, 'Remove Cargo')
15 self.fitID = fitID
16 self.cargoInfo = cargoInfo
17 self.savedRemovedAmount = None
18
19 def Do(self):
20 pyfalog.debug('Doing removal of cargo {} to fit {}'.format(self.cargoInfo, self.fitID))
21 fit = Fit.getInstance().getFit(self.fitID)
22 cargo = next((x for x in fit.cargo if x.itemID == self.cargoInfo.itemID), None)
23 if cargo is None:
24 return False
25 self.savedRemovedAmount = min(cargo.amount, self.cargoInfo.amount)
26 cargo.amount -= self.savedRemovedAmount
27 if cargo.amount <= 0:
28 fit.cargo.remove(cargo)
29 return True
30
31 def Undo(self):
32 pyfalog.debug('Undoing removal of cargo {} to fit {}'.format(self.cargoInfo, self.fitID))
33 from .add import CalcAddCargoCommand
34 cmd = CalcAddCargoCommand(
35 fitID=self.fitID,
36 cargoInfo=CargoInfo(itemID=self.cargoInfo.itemID, amount=self.savedRemovedAmount))
37 return cmd.Do()

Callers 7

DoMethod · 0.90
DoMethod · 0.90
DoMethod · 0.90
DoMethod · 0.90
DoMethod · 0.90
DoMethod · 0.90
UndoMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected