diff --git a/EDMarketConnector.py b/EDMarketConnector.py index 31d6d9f3..9e4bd6ed 100755 --- a/EDMarketConnector.py +++ b/EDMarketConnector.py @@ -514,7 +514,7 @@ class AppWindow: self.eddn.export_outfitting(data, monitor.is_beta) if data['lastStarport'].get('ships'): self.eddn.export_shipyard(data, monitor.is_beta) - elif data['lastStarport']['services'].get('shipyard'): + elif data['lastStarport'].get('services', {}).get('shipyard'): # API is flakey about shipyard info - silently retry if missing (<1s is usually sufficient - 5s for margin). self.w.after(int(SERVER_RETRY * 1000), lambda:self.retry_for_shipyard(2)) if not old_status: diff --git a/companion.py b/companion.py index 61e89e53..f9098ade 100644 --- a/companion.py +++ b/companion.py @@ -245,15 +245,16 @@ class Session: def station(self): data = self.query(URL_QUERY) - if data.get('docked'): - if data['lastStarport']['services'].get('commodities'): + if data['commander'].get('docked'): + services = data['lastStarport'].get('services', {}) + if services.get('commodities'): marketdata = self.query(URL_MARKET) if (data['lastStarport']['name'] != marketdata['name'] or int(data['lastStarport']['id']) != int(marketdata['id'])): raise ServerLagging() else: data['lastStarport'].update(marketdata) - if data['lastStarport']['services'].get('outfitting') or data['lastStarport']['services'].get('shipyard'): + if services.get('outfitting') or services.get('shipyard'): shipdata = self.query(URL_SHIPYARD) if (data['lastStarport']['name'] != shipdata['name'] or int(data['lastStarport']['id']) != int(shipdata['id'])):