Use queries to bulk-delete target resists and damage profiles

This commit is contained in:
blitzmann
2017-04-10 21:40:08 -04:00
parent 73821cbe49
commit efaede0929
2 changed files with 20 additions and 10 deletions

View File

@@ -332,6 +332,13 @@ def getDamagePatternList(eager=None):
return patterns
def clearDamagePatterns():
with sd_lock:
deleted_rows = saveddata_session.query(DamagePattern).filter(DamagePattern.name != 'Uniform').delete()
commit()
return deleted_rows
def getTargetResistsList(eager=None):
eager = processEager(eager)
with sd_lock:
@@ -339,6 +346,13 @@ def getTargetResistsList(eager=None):
return patterns
def clearTargetResists():
with sd_lock:
deleted_rows = saveddata_session.query(TargetResists).delete()
commit()
return deleted_rows
def getImplantSetList(eager=None):
eager = processEager(eager)
with sd_lock:

View File

@@ -4,7 +4,7 @@ from gui.preferenceView import PreferenceView
from gui.bitmapLoader import BitmapLoader
from gui.utils import helpers_wxPython as wxHelpers
import config
from eos.db.saveddata.queries import getTargetResistsList, getDamagePatternList, clearPrices, remove
from eos.db.saveddata.queries import clearPrices, remove, clearDamagePatterns, clearTargetResists
from eos.db.saveddata.loadDefaultDatabaseValues import DefaultDatabaseValues
import logging
@@ -107,21 +107,17 @@ class PFGeneralPref(PreferenceView):
def DeleteDamagePatterns(self, event):
question = u"This is a destructive action that will delete all damage pattern profiles.\nAre you sure you want to do this?"
if wxHelpers.YesNoDialog(question):
for damage_pattern in getDamagePatternList():
remove(damage_pattern)
DefaultDatabaseValues.importRequiredDefaults()
if wxHelpers.YesNoDialog(question, "Confirm"):
clearDamagePatterns()
def DeleteTargetResists(self, event):
question = u"This is a destructive action that will delete all target resist profiles.\nAre you sure you want to do this?"
if wxHelpers.YesNoDialog(question):
for target_resist in getTargetResistsList():
remove(target_resist)
DefaultDatabaseValues.importRequiredDefaults()
if wxHelpers.YesNoDialog(question, "Confirm"):
clearTargetResists()
def DeletePrices(self, event):
question = u"This is a destructive action that will delete all cached prices out of the database.\nAre you sure you want to do this?"
if wxHelpers.YesNoDialog(question):
if wxHelpers.YesNoDialog(question, "Confirm"):
clearPrices()
def onCBsaveInRoot(self, event):