From e31dce9861005b2e2b1f3d242257c36a39658189 Mon Sep 17 00:00:00 2001 From: Richard Bronkhorst Date: Sat, 17 Jun 2023 20:23:24 +0200 Subject: [PATCH] Update commander.py, jumpgate.py and two other files --- nullptr/commander.py | 8 +++++++- nullptr/models/jumpgate.py | 1 + nullptr/models/marketplace.py | 12 +++++++++++- nullptr/models/system.py | 3 +++ 4 files changed, 22 insertions(+), 2 deletions(-) diff --git a/nullptr/commander.py b/nullptr/commander.py index f5898bc..f28ad94 100644 --- a/nullptr/commander.py +++ b/nullptr/commander.py @@ -105,7 +105,10 @@ class Commander(CommandLine): if w.type == 'JUMP_GATE': traits.append('JUMP') print(w.symbol.split('-')[2], ', '.join(traits)) - + + def do_wp(self, s=''): + self.do_waypoints(s) + def do_marketplace(self, waypoint_str): waypoint = self.store.get(Waypoint, waypoint_str.upper()) r = self.api.marketplace(waypoint) @@ -237,6 +240,9 @@ class Commander(CommandLine): def do_jump(self, system_str): if not self.has_ship(): return + if '-' not in system_str: + sector = self.ship.location_str.split('-')[0] + system_str = f'{sector}-{system_str}' system = self.resolve('System', system_str) self.api.jump(self.ship, system) pprint(self.ship) diff --git a/nullptr/models/jumpgate.py b/nullptr/models/jumpgate.py index 29a8070..fcd073a 100644 --- a/nullptr/models/jumpgate.py +++ b/nullptr/models/jumpgate.py @@ -22,5 +22,6 @@ class Jumpgate(SystemMember): def f(self, detail=1): r = self.symbol if detail > 1: + r += '\n' r += '\n'.join(self.systems) return r diff --git a/nullptr/models/marketplace.py b/nullptr/models/marketplace.py index e8cbfe6..3a68c96 100644 --- a/nullptr/models/marketplace.py +++ b/nullptr/models/marketplace.py @@ -31,6 +31,15 @@ class Marketplace(SystemMember): def ext(self): return 'mkt' + def rtype(self, r): + if r in self.imports: + return 'I' + if r in self.exports: + return 'E' + if r in self.exchange: + return 'X' + return '?' + def path(self): sector, system, _ = self.symbol.split('-') return f'atlas/{sector}/{system[0:1]}/{system}/{self.symbol}.{self.ext()}' @@ -40,5 +49,6 @@ class Marketplace(SystemMember): if detail > 1: r += '\n' for p in self.prices.values(): - r += f'{p["symbol"]:25s} {p["sell"]:5d} {p["buy"]:5d}\n' + t = self.rtype(p['symbol']) + r += f'{t} {p["symbol"]:25s} {p["sell"]:5d} {p["buy"]:5d}\n' return r diff --git a/nullptr/models/system.py b/nullptr/models/system.py index 9568fe0..9d62d99 100644 --- a/nullptr/models/system.py +++ b/nullptr/models/system.py @@ -22,3 +22,6 @@ class System(Base): def distance(self, other): return int(sqrt((self.x - other.x) ** 2 + (self.y - other.y) ** 2)) + + def sector(self): + return self.symbol.split('-')[0]