Do not crash when facing unknown module in saved fit

This commit is contained in:
DarkPhoenix
2019-05-03 02:27:03 +03:00
parent b121085271
commit cfffa1d99d
14 changed files with 125 additions and 63 deletions

View File

@@ -56,7 +56,7 @@ class CalcAddLocalModuleCommand(wx.Command):
pyfalog.warning('Module does not fit')
return False
try:
fit.modules.append(newMod)
fit.modules.append(newMod, raiseFailure=True)
except HandledListActionError:
pyfalog.warning('Failed to append to list')
if self.commit:

View File

@@ -32,7 +32,7 @@ class CalcCloneLocalModuleCommand(wx.Command):
if not fit.modules[self.dstPosition].isEmpty:
return False
try:
fit.modules.replace(self.dstPosition, copyMod)
fit.modules.replace(self.dstPosition, copyMod, raiseFailure=True)
except HandledListActionError:
pyfalog.warning('Failed to replace module')
eos.db.commit()

View File

@@ -54,7 +54,7 @@ class CalcReplaceLocalModuleCommand(wx.Command):
self.Undo()
return False
try:
fit.modules.replace(self.position, newMod)
fit.modules.replace(self.position, newMod, raiseFailure=True)
except HandledListActionError:
pyfalog.warning('Failed to replace in list')
self.Undo()
@@ -88,7 +88,7 @@ class CalcReplaceLocalModuleCommand(wx.Command):
return False
fit.modules.free(self.position)
try:
fit.modules.replace(self.position, oldMod)
fit.modules.replace(self.position, oldMod, raiseFailure=True)
except HandledListActionError:
pyfalog.warning('Failed to replace in list')
self.Do()

View File

@@ -34,14 +34,14 @@ class CalcSwapLocalModuleCommand(wx.Command):
fit.modules.free(position1)
fit.modules.free(position2)
try:
fit.modules.replace(position2, mod1)
fit.modules.replace(position2, mod1, raiseFailure=True)
except HandledListActionError:
fit.modules.replace(position1, mod1)
fit.modules.replace(position2, mod2)
eos.db.commit()
return False
try:
fit.modules.replace(position1, mod2)
fit.modules.replace(position1, mod2, raiseFailure=True)
except HandledListActionError:
fit.modules.free(position2)
fit.modules.replace(position1, mod1)

View File

@@ -40,14 +40,14 @@ class CalcAddProjectedModuleCommand(wx.Command):
if self.newPosition is not None:
try:
fit.projectedModules.insert(self.newPosition, newMod)
fit.projectedModules.insert(self.newPosition, newMod, raiseFailure=True)
except HandledListActionError:
if self.commit:
eos.db.commit()
return False
else:
try:
fit.projectedModules.append(newMod)
fit.projectedModules.append(newMod, raiseFailure=True)
except HandledListActionError:
if self.commit:
eos.db.commit()