Fetching systems

This commit is contained in:
Richard Bronkhorst
2023-06-10 20:49:50 +02:00
parent cea10ae07c
commit 042b931133
6 changed files with 36 additions and 15 deletions

View File

@@ -5,7 +5,7 @@ class Agent(Base):
credits: int = 0
def update(self, d):
self.seta(d, 'credits')
self.seta('credits', d)
def path(self):
return f'{self.symbol}.{self.ext()}'

View File

@@ -1,6 +1,6 @@
from copy import deepcopy
from dataclasses import dataclass
from util import sg
@dataclass
class Base:
symbol: str
@@ -11,9 +11,12 @@ class Base:
self.store = store
self.dirty = True
def seta(self, d, name):
if name in d:
setattr(self, name, d[name])
def seta(self, attr, d, name=None):
if name is None:
name = attr
val = sg(d, name)
if val is not None:
setattr(self, attr, val)
def __setattr__(self, name, value):
if name != 'dirty':

View File

@@ -3,6 +3,15 @@ from .base import Base
class System(Base):
x:int = 0
y:int = 0
type:str = 'unknown'
def update(self, d):
self.seta('x', d)
self.seta('y', d)
self.seta('type', d)
@classmethod
def ext(self):
return 'stm'