From b2f2dc520e3f3437e76baea2b41dd0c5fc7a682c Mon Sep 17 00:00:00 2001 From: Richard Bronkhorst Date: Mon, 10 Jul 2023 20:12:29 +0200 Subject: [PATCH] Update waypoint.py and store.py --- nullptr/models/waypoint.py | 8 +++++--- nullptr/store.py | 6 ++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/nullptr/models/waypoint.py b/nullptr/models/waypoint.py index 8207580..7b859ad 100644 --- a/nullptr/models/waypoint.py +++ b/nullptr/models/waypoint.py @@ -1,6 +1,6 @@ -from .base import Base +from .base import Base, Reference +from nullptr.models.system import System from nullptr.util import * -from dataclasses import field class Waypoint(Base): def define(self): @@ -9,13 +9,15 @@ class Waypoint(Base): self.type:str = 'unknown' self.traits:list = [] self.faction:str = '' - + self.system = None + def update(self, d): self.seta('x', d) self.seta('y', d) self.seta('type', d) self.seta('faction', d, 'faction.symbol') self.setlst('traits', d, 'traits', 'symbol') + self.seta('system', d, self.store.getter(System)) @classmethod def ext(self): diff --git a/nullptr/store.py b/nullptr/store.py index 66bb784..c549d1f 100644 --- a/nullptr/store.py +++ b/nullptr/store.py @@ -7,6 +7,7 @@ from .util import * from time import time import pickle from struct import unpack, pack +from functools import partial class ChunkHeader: def __init__(self): @@ -156,6 +157,11 @@ class Store: return None return self.data[typ][symbol] + def getter(self, typ, create=False): + if type(typ) == str and typ in self.model_names: + typ = self.model_names[typ] + return partial(self.get, typ=typ, create=create) + def update(self, typ, data, symbol=None): if type(typ) == str and typ in self.model_names: typ = self.model_names[typ]