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

Method Do

gui/fitCommands/calc/drone/projectedAdd.py:20–44  ·  view source on GitHub ↗
(self)

Source from the content-addressed store, hash-verified

18 self.savedDroneInfo = None
19
20 def Do(self):
21 pyfalog.debug('Doing addition of projected drone {} to fit {}'.format(self.droneInfo, self.fitID))
22 fit = Fit.getInstance().getFit(self.fitID)
23 drone = next((pd for pd in fit.projectedDrones if pd.itemID == self.droneInfo.itemID), None)
24 # Changing existing stack
25 if drone is not None:
26 self.savedDroneInfo = DroneInfo.fromDrone(drone)
27 # Ignore drone info's active amount parameter if we're adding to existing stack,
28 # and decide based on stack's state
29 drone.amount += self.droneInfo.amount
30 if drone.amountActive > 0:
31 drone.amountActive += self.droneInfo.amount
32 return True
33 # Making new stack
34 drone = self.droneInfo.toDrone()
35 if drone is None:
36 return False
37 if not drone.item.isType('projected'):
38 pyfalog.debug('Drone is not projectable')
39 return False
40 fit.projectedDrones.append(drone)
41 if drone not in fit.projectedDrones:
42 pyfalog.warning('Failed to append to list')
43 return False
44 return True
45
46 def Undo(self):
47 pyfalog.debug('Undoing addition of projected drone {} to fit {}'.format(self.droneInfo, self.fitID))

Callers 1

UndoMethod · 0.95

Calls 6

getFitMethod · 0.80
fromDroneMethod · 0.80
toDroneMethod · 0.80
getInstanceMethod · 0.45
isTypeMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected