Merge remote-tracking branch 'refs/remotes/origin/master'
This commit is contained in:
50
nullptr/models/survey.py
Normal file
50
nullptr/models/survey.py
Normal file
@@ -0,0 +1,50 @@
|
||||
from time import time
|
||||
from nullptr.util import *
|
||||
from .system_member import SystemMember
|
||||
|
||||
size_names = ['SMALL','MODERATE','LARGE']
|
||||
|
||||
class Survey(SystemMember):
|
||||
identifier = 'signature'
|
||||
type: str = ''
|
||||
deposits: list[str] = []
|
||||
size: int = 0
|
||||
expires: int = 0
|
||||
expires_str: str = ''
|
||||
exhausted: bool = False
|
||||
|
||||
@classmethod
|
||||
def ext(cls):
|
||||
return 'svy'
|
||||
|
||||
def path(self):
|
||||
sector, system, waypoint, signature = self.symbol.split('-')
|
||||
return f'atlas/{sector}/{system[0:1]}/{system}/{waypoint}-{signature}.{self.ext()}'
|
||||
|
||||
|
||||
def is_expired(self):
|
||||
return time() > self.expires or self.exhausted
|
||||
|
||||
def api_dict(self):
|
||||
return {
|
||||
'signature': self.symbol,
|
||||
'symbol': str(self.waypoint),
|
||||
'deposits': [{'symbol': d} for d in self.deposits],
|
||||
'expiration': self.expires_str,
|
||||
'size': size_names[self.size]
|
||||
}
|
||||
|
||||
def update(self, d):
|
||||
sz = must_get(d, 'size')
|
||||
self.size = size_names.index(sz)
|
||||
self.deposits = [d['symbol'] for d in must_get(d, 'deposits')]
|
||||
self.seta('expires',d, 'expiration',parse_timestamp)
|
||||
self.seta('expires_str',d, 'expiration')
|
||||
|
||||
def f(self, detail=1):
|
||||
result = self.symbol
|
||||
if detail > 1:
|
||||
result += ' ' + ','.join(self.deposits)
|
||||
minutes = max(self.expires - time(), 0) //60
|
||||
result += ' ' + str(int(minutes)) + 'm'
|
||||
return result
|
||||
Reference in New Issue
Block a user