diff --git a/main.py b/main.py old mode 100644 new mode 100755 index 15b2b75..0290b3a --- a/main.py +++ b/main.py @@ -1,3 +1,4 @@ +#!/usr/bin/env python3 import argparse from nullptr.commander import Commander from nullptr.models.base import Base diff --git a/nullptr/api.py b/nullptr/api.py index 644b957..2ac1828 100644 --- a/nullptr/api.py +++ b/nullptr/api.py @@ -80,7 +80,10 @@ class Api: def list_systems(self, page=1): data = self.request('get', 'systems', params={'page': page}) #pprint(self.last_meta) - return self.store.update_list(System, data) + systems = self.store.update_list(System, data) + for s in data: + self.store.update_list(Waypoint, mg(s, 'waypoints')) + return systems def list_waypoints(self, system): data = self.request('get', f'systems/{system}/waypoints/') @@ -89,6 +92,7 @@ class Api: def marketplace(self, waypoint): system = waypoint.system + print(f'systems/{system}/waypoints/{waypoint}/market') data = self.request('get', f'systems/{system}/waypoints/{waypoint}/market') return self.store.update(Marketplace, data) diff --git a/nullptr/atlas_builder.py b/nullptr/atlas_builder.py index 255a9fc..fbddfd8 100644 --- a/nullptr/atlas_builder.py +++ b/nullptr/atlas_builder.py @@ -26,17 +26,18 @@ class AtlasBuilder: def all_specials(self, waypoints): for w in waypoints: + print(w) if self.stop_auto: break if 'UNCHARTED' in w.traits: continue if 'MARKETPLACE' in w.traits: - self.api.marketplace(w) print(f'marketplace at {w}') + self.api.marketplace(w) sleep(0.5) if w.type == 'JUMP_GATE': - self.api.jumps(w) print(f'jumpgate at {w}') + self.api.jumps(w) def all_waypoints(self, systems): for s in systems: diff --git a/nullptr/models/waypoint.py b/nullptr/models/waypoint.py index 7b859ad..fc12e26 100644 --- a/nullptr/models/waypoint.py +++ b/nullptr/models/waypoint.py @@ -9,7 +9,7 @@ class Waypoint(Base): self.type:str = 'unknown' self.traits:list = [] self.faction:str = '' - self.system = None + self.set_system() def update(self, d): self.seta('x', d) @@ -17,8 +17,12 @@ class Waypoint(Base): self.seta('type', d) self.seta('faction', d, 'faction.symbol') self.setlst('traits', d, 'traits', 'symbol') - self.seta('system', d, self.store.getter(System)) - + + def set_system(self): + parts = self.symbol.split('-') + system_str = f'{parts[0]}-{parts[1]}' + self.system = self.store.get(System, system_str, create=True) + @classmethod def ext(self): return 'way'