diff --git a/eos b/eos index a57531436..3cd4768c9 160000 --- a/eos +++ b/eos @@ -1 +1 @@ -Subproject commit a57531436a0ba01163d5865316f92fe51e424d7a +Subproject commit 3cd4768c9c9b157935d80930209b399630bca089 diff --git a/gui/builtinViewColumns/modulePrice.py b/gui/builtinViewColumns/modulePrice.py index d2fa6aa19..40c4c6bec 100644 --- a/gui/builtinViewColumns/modulePrice.py +++ b/gui/builtinViewColumns/modulePrice.py @@ -34,7 +34,12 @@ class ModulePrice(ViewColumn): def getText(self, mod): - return False if mod.item is not None else "" + if mod.item is None: + return "" + + sMarket = service.Market.getInstance() + price = sMarket.getPriceNow(mod.item.ID).price + return formatAmount(price, 3, 3, 9) if price is not None else False def delayedText(self, mod, display, colItem): def callback(requests): diff --git a/service/market.py b/service/market.py index 26644ed5d..c99c26771 100644 --- a/service/market.py +++ b/service/market.py @@ -247,19 +247,26 @@ class Market(): return list(l), populatedMetas + def getPriceNow(self, typeID): + price = self.priceCache.get(typeID) + if price is None: + try: + price = eos.db.getPrice(typeID) + except NoResultFound: + price = eos.types.Price(typeID) + eos.db.saveddata_session.add(price) + + self.priceCache[typeID] = price + + return price + + def getPricesNow(self, typeIDs): + return map(self.getPrice, typeIDs) + def getPrices(self, typeIDs, callback): requests = [] for typeID in typeIDs: - price = self.priceCache.get(typeID) - if price is None: - try: - price = eos.db.getPrice(typeID) - except NoResultFound: - price = eos.types.Price(typeID) - eos.db.saveddata_session.add(price) - - self.priceCache[typeID] = price - + price = self.getPriceNow(typeID) requests.append(price) def cb():