Add a shipBrowserWorkerThread
This commit is contained in:
@@ -23,6 +23,7 @@ from eos.types import State, Slot
|
||||
import copy
|
||||
from service.damagePattern import DamagePattern
|
||||
|
||||
|
||||
class Fit(object):
|
||||
instance = None
|
||||
@classmethod
|
||||
|
||||
@@ -26,6 +26,26 @@ from sqlalchemy.orm.exc import NoResultFound
|
||||
import Queue
|
||||
import traceback
|
||||
|
||||
class ShipBrowserWorkerThread(threading.Thread):
|
||||
def run(self):
|
||||
self.queue = Queue.Queue()
|
||||
self.processRequests()
|
||||
|
||||
def processRequests(self):
|
||||
queue = self.queue
|
||||
sMarket = Market.getInstance()
|
||||
while True:
|
||||
try:
|
||||
callback, id = queue.get()
|
||||
wx.CallAfter(callback, sMarket.getShipList(id))
|
||||
except:
|
||||
pass
|
||||
finally:
|
||||
try:
|
||||
queue.task_done()
|
||||
except:
|
||||
pass
|
||||
|
||||
class PriceWorkerThread(threading.Thread):
|
||||
def run(self):
|
||||
self.queue = Queue.Queue()
|
||||
@@ -120,6 +140,10 @@ class Market():
|
||||
self.searchWorkerThread.daemon = True
|
||||
self.searchWorkerThread.start()
|
||||
|
||||
self.shipBrowserWorkerThread = ShipBrowserWorkerThread()
|
||||
self.shipBrowserWorkerThread.daemon = True
|
||||
self.shipBrowserWorkerThread.start()
|
||||
|
||||
def getChildren(self, id):
|
||||
"""
|
||||
Get the children of the group or marketGroup with the passed id.
|
||||
@@ -153,6 +177,9 @@ class Market():
|
||||
|
||||
return ships
|
||||
|
||||
def getShipListDelayed(self, id, callback):
|
||||
self.shipBrowserWorkerThread.queue.put((id, callback))
|
||||
|
||||
def searchShips(self, name):
|
||||
results = eos.db.searchItems(name)
|
||||
ships = []
|
||||
|
||||
Reference in New Issue
Block a user