MCPcopy Create free account
hub / github.com/pyfa-org/Pyfa / activate

Method activate

gui/builtinContextMenus/cargoFill.py:35–65  ·  view source on GitHub ↗
(self, callingWindow, fullContext, mainItem, i)

Source from the content-addressed store, hash-verified

33 return _t("Fill Cargo With {0}").format(itmContext)
34
35 def activate(self, callingWindow, fullContext, mainItem, i):
36 fitID = self.mainFrame.getActiveFit()
37 fit = Fit.getInstance().getFit(fitID)
38
39 if isinstance(mainItem, Cargo):
40 itemVolume = mainItem.item.attributes['volume'].value
41 itemID = mainItem.itemID
42 else:
43 itemVolume = mainItem.attributes['volume'].value
44 itemID = int(mainItem.ID)
45
46 if itemVolume is None or itemVolume <= 0:
47 return
48
49 # Calculate how many items can fit in the cargo
50 cargoCapacity = fit.ship.getModifiedItemAttr("capacity")
51 currentCargoVolume = fit.cargoBayUsed
52 availableVolume = cargoCapacity - currentCargoVolume
53
54 if availableVolume <= 0:
55 return
56
57 # Calculate maximum amount that can fit
58 maxAmount = int(availableVolume / itemVolume)
59 if maxAmount <= 0:
60 return
61
62 # Add the items to cargo
63 command = cmd.GuiAddCargoCommand(fitID=fitID, itemID=itemID, amount=maxAmount)
64 if self.mainFrame.command.Submit(command):
65 self.mainFrame.additionsPane.select("Cargo", focus=False)
66
67
68FillCargoWithItem.register()

Callers

nothing calls this directly

Calls 5

getFitMethod · 0.80
selectMethod · 0.80
getActiveFitMethod · 0.45
getInstanceMethod · 0.45
getModifiedItemAttrMethod · 0.45

Tested by

no test coverage detected