from nullptr.models import Base from time import time from nullptr.util import * class Shipyard(Base): def define(self): self.last_prices = 0 self.types = set() self.prices:dict = {} def get_waypoint(self): return self.store.get('Waypoint', self.symbol, create=True) @classmethod def ext(self): return 'syd' def update(self, d): if 'ships' in d: self.last_prices = time() for s in must_get(d, 'ships'): self.prices[s['type']] = s['purchasePrice'] for s in must_get(d, 'shipTypes'): self.types.add(s['type']) def f(self, detail=1): r = super().f(detail) if detail > 2: r += '\n' for st in self.types: price = "Unknown" if st in self.prices: price = self.prices[st] r += f'{st:20} {price}\n' return r