Merge branch 'master' into development

Conflicts:
	gui/builtinContextMenus/amount.py
	gui/builtinStatsViews/priceViewFull.py
	service/fit.py
	service/prefetch.py
This commit is contained in:
blitzman
2017-01-29 15:02:22 -05:00
9 changed files with 32 additions and 26 deletions

View File

@@ -17,6 +17,7 @@
# along with eos. If not, see <http://www.gnu.org/licenses/>.
# ===============================================================================
import sys
import logging
from sqlalchemy.orm import validates, reconstructor
@@ -68,10 +69,14 @@ class Cargo(HandledItem, ItemAttrShortcut):
def clear(self):
self.itemModifiedAttributes.clear()
@validates("fitID", "itemID")
@validates("fitID", "itemID", "amount")
def validator(self, key, val):
map = {"fitID": lambda val: isinstance(val, int),
"itemID": lambda val: isinstance(val, int)}
"itemID": lambda val: isinstance(val, int),
"amount": lambda val: isinstance(val, int)}
if key == "amount" and val > sys.maxint:
val = sys.maxint
if not map[key](val):
raise ValueError(str(val) + " is not a valid value for " + key)

View File

@@ -49,6 +49,11 @@ class AmountChanger(wx.Dialog):
self.button.Bind(wx.EVT_BUTTON, self.change)
def change(self, event):
sFit = Fit.getInstance()
if self.input.GetLineText(0).strip() == '':
event.Skip()
return
sFit = Fit.getInstance()
mainFrame = gui.mainFrame.MainFrame.getInstance()
fitID = mainFrame.getActiveFit()
@@ -63,7 +68,6 @@ class AmountChanger(wx.Dialog):
wx.PostEvent(mainFrame, GE.FitChanged(fitID=fitID))
event.Skip()
self.Close()
# checks to make sure it's valid number
def onChar(self, event):

View File

@@ -82,16 +82,14 @@ class PriceViewFull(StatsView):
typeIDs.append(mod.itemID)
for drone in fit.drones:
for _ in range(drone.amount):
typeIDs.append(drone.itemID)
typeIDs.append(drone.itemID)
for fighter in fit.fighters:
for _ in range(fighter.amountActive):
if fighter.amountActive > 0:
typeIDs.append(fighter.itemID)
for cargo in fit.cargo:
for _ in range(cargo.amount):
typeIDs.append(cargo.itemID)
typeIDs.append(cargo.itemID)
sMkt = Market.getInstance()
sMkt.getPrices(typeIDs, self.processPrices)

View File

@@ -107,6 +107,7 @@ class PFPanel(wx.Panel):
class OpenFitsThread(threading.Thread):
def __init__(self, fits, callback):
threading.Thread.__init__(self)
self.name = "LoadingOpenFits"
self.mainFrame = MainFrame.getInstance()
self.callback = callback
self.fits = fits

View File

@@ -31,6 +31,7 @@ class exportHtml():
class exportHtmlThread(threading.Thread):
def __init__(self, callback=False):
threading.Thread.__init__(self)
self.name = "HTMLExport"
self.callback = callback
self.stopRunning = False

View File

@@ -44,6 +44,7 @@ logger = logging.getLogger(__name__)
class CharacterImportThread(threading.Thread):
def __init__(self, paths, callback):
threading.Thread.__init__(self)
self.name = "CharacterImport"
self.paths = paths
self.callback = callback
@@ -100,6 +101,7 @@ class CharacterImportThread(threading.Thread):
class SkillBackupThread(threading.Thread):
def __init__(self, path, saveFmt, activeFit, callback):
threading.Thread.__init__(self)
self.name = "SkillBackup"
self.path = path
self.saveFmt = saveFmt
self.activeFit = activeFit

View File

@@ -49,6 +49,10 @@ mktRdy = threading.Event()
class ShipBrowserWorkerThread(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
self.name = "ShipBrowser"
def run(self):
self.queue = Queue.Queue()
self.cache = {}
@@ -80,6 +84,10 @@ class ShipBrowserWorkerThread(threading.Thread):
class PriceWorkerThread(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
self.name = "PriceWorker"
def run(self):
self.queue = Queue.Queue()
self.wait = {}
@@ -115,6 +123,10 @@ class PriceWorkerThread(threading.Thread):
class SearchWorkerThread(threading.Thread):
def __init__(self):
threading.Thread.__init__(self)
self.name = "SearchWorker"
def run(self):
self.cv = threading.Condition()
self.searchRequest = None

View File

@@ -31,24 +31,6 @@ import logging
logger = logging.getLogger(__name__)
class PrefetchThread(threading.Thread):
def run(self):
# We're a daemon thread, as such, interpreter might get shut down while we do stuff
# Make sure we don't throw tracebacks to console
try:
es_Character.setSkillList(db.getItemsByCategory(
"Skill",
eager=("effects", "attributes", "attributes.info.icon", "attributes.info.unit", "icon")
))
except:
pass
prefetch = PrefetchThread()
prefetch.daemon = True
prefetch.start()
# The following code does not belong here, however until we rebuild skeletons
# to include modified pyfa.py, this is the best place to put it. See GH issue
# #176

View File

@@ -32,6 +32,7 @@ from service.settings import UpdateSettings
class CheckUpdateThread(threading.Thread):
def __init__(self, callback):
threading.Thread.__init__(self)
self.name = "CheckUpdate"
self.callback = callback
self.settings = UpdateSettings.getInstance()
self.network = Network.getInstance()