Merge branch 'master' into fit_export_options

This commit is contained in:
DarkPhoenix
2019-02-13 14:03:56 +03:00
11 changed files with 84 additions and 62 deletions

View File

@@ -26,6 +26,7 @@ import wx
from logbook import Logger
from eos import db
from eos.saveddata.price import PriceStatus
from service.fit import Fit
from service.market import Market
from service.network import TimeoutError
@@ -85,13 +86,18 @@ class Price(object):
toRequest = set()
# Compose list of items we're going to request
for typeID in priceMap:
for typeID in tuple(priceMap):
# Get item object
item = db.getItem(typeID)
# We're not going to request items only with market group, as eve-central
# doesn't provide any data for items not on the market
if item is not None and item.marketGroupID:
toRequest.add(typeID)
if item is None:
continue
if not item.marketGroupID:
priceMap[typeID].status = PriceStatus.notSupported
del priceMap[typeID]
continue
toRequest.add(typeID)
# Do not waste our time if all items are not on the market
if len(toRequest) == 0:
@@ -117,11 +123,10 @@ class Price(object):
except TimeoutError:
# Timeout error deserves special treatment
pyfalog.warning("Price fetch timout")
for typeID in priceMap.keys():
for typeID in tuple(priceMap):
priceobj = priceMap[typeID]
priceobj.time = time.time() + TIMEOUT
priceobj.failed = True
priceobj.status = PriceStatus.fail
del priceMap[typeID]
except Exception as ex:
# something happened, try another source
@@ -134,7 +139,7 @@ class Price(object):
for typeID in priceMap.keys():
priceobj = priceMap[typeID]
priceobj.time = time.time() + REREQUEST
priceobj.failed = True
priceobj.status = PriceStatus.fail
@classmethod
def fitItemsList(cls, fit):
@@ -167,16 +172,15 @@ class Price(object):
sMkt = Market.getInstance()
item = sMkt.getItem(objitem)
return item.price
return item.price.price
def getPrices(self, objitems, callback, waitforthread=False):
"""Get prices for multiple typeIDs"""
requests = []
sMkt = Market.getInstance()
for objitem in objitems:
priceobj = sMkt.getItem(objitem).priceObj
if priceobj:
requests.append(priceobj)
item = sMkt.getItem(objitem)
requests.append(item.price)
def cb():
try: