This commit is contained in:
Richard Bronkhorst
2023-06-10 19:39:32 +02:00
parent eeb063f307
commit cea10ae07c
11 changed files with 229 additions and 16 deletions

21
models/agent.py Normal file
View File

@@ -0,0 +1,21 @@
from .base import Base
class Agent(Base):
token: str = None
credits: int = 0
def update(self, d):
self.seta(d, 'credits')
def path(self):
return f'{self.symbol}.{self.ext()}'
@classmethod
def ext(self):
return 'agt'
def f(self, detail=1):
r = super().f(detail)
if detail >2:
r += f' c:{self.credits}'
return r

View File

@@ -1,13 +1,28 @@
from copy import deepcopy
from dataclasses import dataclass
@dataclass
class Base:
symbol: str
dirty: bool
def __init__(self, symbol, store):
self.symbol = symbol
self.store = store
self.dirty = True
def seta(self, d, name):
if name in d:
setattr(self, name, d[name])
def __setattr__(self, name, value):
if name != 'dirty':
self.dirty = True
super().__setattr__(name, value)
def update(self, d):
pass
def dict(self):
r = deepcopy(self.__dict__)
del r['store']
@@ -16,7 +31,8 @@ class Base:
def path(self):
raise NotImplementedError('path')
@classmethod
def ext(self):
raise NotImplementedError('extension')
@@ -24,4 +40,10 @@ class Base:
return self.__class__.__name__
def __str__(self):
return f'{self.symbol}.{self.ext()}'
return self.f()
def f(self, detail=1):
r = self.symbol
if detail > 1:
r += '.' + self.ext()
return r

View File

@@ -1,5 +1,6 @@
from .base import Base
class Sector(Base):
@classmethod
def ext(self):
return 'sct'

View File

@@ -1,8 +0,0 @@
from .base import Base
class Setting(Base):
name: str
value: str
def ext(self):
return 'set'

View File

@@ -3,6 +3,7 @@ from .base import Base
class System(Base):
@classmethod
def ext(self):
return 'stm'

View File

@@ -2,5 +2,6 @@ from .base import Base
class Waypoint(Base):
@classmethod
def ext(self):
return 'way'