0ptr/nullptr/models/marketplace.py

29 lines
840 B
Python
Raw Normal View History

from .system_member import SystemMember
from time import time
from nullptr.util import *
from dataclasses import field
class Marketplace(SystemMember):
imports:list = field(default_factory=list)
exports:list = field(default_factory=list)
exchange:list = field(default_factory=list)
prices:dict = field(default_factory=dict)
last_prices:int = 0
def update(self, d):
self.setlst('imports', d, 'imports', 'symbol')
self.setlst('exports', d, 'exports', 'symbol')
self.setlst('exchange', d, 'exchange', 'symbol')
if 'tradeGoods' in d:
self.last_prices = time()
for g in mg(d, 'tradeGoods'):
pass
@classmethod
def ext(self):
return 'mkt'
def path(self):
sector, system, _ = self.symbol.split('-')
return f'atlas/{sector}/{system[0:1]}/{system}/{self.symbol}.{self.ext()}'