Add some debug and fix indentation issue causing fit deletion to crash open fittings views

This commit is contained in:
blitzmann
2017-11-22 01:45:31 -05:00
parent 5d5646df79
commit 4a33365195
2 changed files with 15 additions and 10 deletions

View File

@@ -2,6 +2,7 @@
import re
import time
import config
import wx
from logbook import Logger
@@ -58,6 +59,9 @@ class FitItem(SFItem.SFBrowserItem):
self.shipFittingInfo = shipFittingInfo
self.shipName, self.shipTrait, self.fitName, self.fitBooster, self.timestamp, self.notes = shipFittingInfo
if config.debug:
self.fitName = '({}) {}'.format(self.fitID, self.fitName)
self.shipTrait = re.sub("<.*?>", " ", self.shipTrait)
# see GH issue #62

View File

@@ -78,7 +78,7 @@ class FitSpawner(gui.multiSwitch.TabSpawner):
view = self.multiSwitch.GetSelectedPage()
if isinstance(view, gui.builtinViews.emptyView.BlankPage):
if not isinstance(view, FittingView):
view = FittingView(self.multiSwitch)
print("###################### Created new view:"+repr(view))
self.multiSwitch.ReplaceActivePage(view)
@@ -287,19 +287,20 @@ class FittingView(d.Display):
We also refresh the fit of the new current page in case
delete fit caused change in stats (projected)
"""
print('_+_+_+_+_+_ Fit Removed: {} {} activeFitID: {}, eventFitID: {}'.format(repr(self), str(bool(self)), self.activeFitID, event.fitID))
pyfalog.debug("FittingView::fitRemoved")
if event.fitID == self.getActiveFit():
pyfalog.debug(" Deleted fit is currently active")
self.parent.DeletePage(self.parent.GetPageIndex(self))
try:
# Sometimes there is no active page after deletion, hence the try block
sFit = Fit.getInstance()
sFit.refreshFit(self.getActiveFit())
wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=self.activeFitID))
except RuntimeError:
pyfalog.warning("Caught dead object")
pass
try:
# Sometimes there is no active page after deletion, hence the try block
sFit = Fit.getInstance()
sFit.refreshFit(self.getActiveFit())
wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=self.activeFitID))
except RuntimeError:
pyfalog.warning("Caught dead object")
pass
event.Skip()
@@ -520,7 +521,7 @@ class FittingView(d.Display):
self.populate(self.mods)
def fitChanged(self, event):
print('====== Fit Changed: '+repr(self)+str(bool(self)))
print('====== Fit Changed: {} {} activeFitID: {}, eventFitID: {}'.format(repr(self), str(bool(self)), self.activeFitID, event.fitID))
try:
if self.activeFitID is not None and self.activeFitID == event.fitID: