From 99c6614d86eb623d225749875bf224149f9dd4fa Mon Sep 17 00:00:00 2001 From: DarkPhoenix Date: Wed, 21 Aug 2019 18:27:37 +0300 Subject: [PATCH] Change more commands to not fail on partial fails --- gui/fitCommands/gui/commandFit/add.py | 8 +++----- gui/fitCommands/gui/localModule/changeMetas.py | 18 ++++++++++-------- gui/fitCommands/gui/projectedFit/add.py | 8 +++----- 3 files changed, 16 insertions(+), 18 deletions(-) diff --git a/gui/fitCommands/gui/commandFit/add.py b/gui/fitCommands/gui/commandFit/add.py index e2b6a8dd0..f35f4a40f 100644 --- a/gui/fitCommands/gui/commandFit/add.py +++ b/gui/fitCommands/gui/commandFit/add.py @@ -17,13 +17,11 @@ class GuiAddCommandFitsCommand(wx.Command): self.commandFitIDs = commandFitIDs def Do(self): - commands = [] + results = [] for commandFitID in self.commandFitIDs: cmd = CalcAddCommandCommand(fitID=self.fitID, commandFitID=commandFitID) - commands.append(cmd) - if not commands: - return False - success = self.internalHistory.submitBatch(*commands) + results.append(self.internalHistory.submit(cmd)) + success = any(results) eos.db.flush() sFit = Fit.getInstance() sFit.recalc(self.fitID) diff --git a/gui/fitCommands/gui/localModule/changeMetas.py b/gui/fitCommands/gui/localModule/changeMetas.py index 816b9eaef..f901c2f88 100644 --- a/gui/fitCommands/gui/localModule/changeMetas.py +++ b/gui/fitCommands/gui/localModule/changeMetas.py @@ -16,21 +16,21 @@ class GuiChangeLocalModuleMetasCommand(wx.Command): self.fitID = fitID self.positions = positions self.newItemID = newItemID - self.relacedItemIDs = None + self.replacedItemIDs = None self.savedRemovedDummies = None def Do(self): sFit = Fit.getInstance() fit = sFit.getFit(self.fitID) - commands = [] + results = [] self.replacedItemIDs = set() + lastSuccessfulCmd = None for position in self.positions: module = fit.modules[position] if module.isEmpty: continue if module.itemID == self.newItemID: continue - self.replacedItemIDs.add(module.itemID) info = ModuleInfo.fromModule(module) info.itemID = self.newItemID cmd = CalcReplaceLocalModuleCommand( @@ -38,11 +38,13 @@ class GuiChangeLocalModuleMetasCommand(wx.Command): position=position, newModInfo=info, unloadInvalidCharges=True) - commands.append(cmd) - if not commands: - return False - success = self.internalHistory.submitBatch(*commands) - if commands[-1].needsGuiRecalc: + result = self.internalHistory.submit(cmd) + results.append(result) + if result: + self.replacedItemIDs.add(module.itemID) + lastSuccessfulCmd = cmd + success = any(results) + if lastSuccessfulCmd is not None and lastSuccessfulCmd.needsGuiRecalc: eos.db.flush() sFit.recalc(self.fitID) self.savedRemovedDummies = sFit.fill(self.fitID) diff --git a/gui/fitCommands/gui/projectedFit/add.py b/gui/fitCommands/gui/projectedFit/add.py index 9cee83232..496fff54e 100644 --- a/gui/fitCommands/gui/projectedFit/add.py +++ b/gui/fitCommands/gui/projectedFit/add.py @@ -18,13 +18,11 @@ class GuiAddProjectedFitsCommand(wx.Command): self.amount = amount def Do(self): - commands = [] + results = [] for projectedFitID in self.projectedFitIDs: cmd = CalcAddProjectedFitCommand(fitID=self.fitID, projectedFitID=projectedFitID, amount=self.amount) - commands.append(cmd) - if not commands: - return False - success = self.internalHistory.submitBatch(*commands) + results.append(self.internalHistory.submit(cmd)) + success = any(results) sFit = Fit.getInstance() eos.db.flush() sFit.recalc(self.fitID)