From f1ef557dee16e2939afd4dfc1907cbc3ef6a1329 Mon Sep 17 00:00:00 2001 From: inb Date: Fri, 6 Aug 2021 20:34:31 +0100 Subject: [PATCH] re #1198 work around +size suffixes in CAPI responses Co-authored-by: A_D --- companion.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/companion.py b/companion.py index 0efae6aa..cb8d0383 100644 --- a/companion.py +++ b/companion.py @@ -670,6 +670,9 @@ class Session(object): logger.warning("No lastStarport name!") return data + # WORKAROUND: n/a | 06-08-2021: Issue 1198 and https://issues.frontierstore.net/issue-detail/40706 -- strip "+" chars off star port names returned by the CAPI + last_starport_name = last_starport["name"] = last_starport_name.rstrip(" +") + services = last_starport.get('services', {}) if not isinstance(services, dict): # Odyssey Alpha Phase 3 4.0.0.20 has been observed having @@ -687,23 +690,24 @@ class Session(object): if services.get('commodities'): marketdata = self.query(URL_MARKET) - if last_starport_name != marketdata['name'] or last_starport_id != int(marketdata['id']): - logger.warning(f"{last_starport_name!r} != {marketdata['name']!r}" - f" or {last_starport_id!r} != {int(marketdata['id'])!r}") + if last_starport_id != int(marketdata['id']): + logger.warning(f"{last_starport_id!r} != {int(marketdata['id'])!r}") raise ServerLagging() else: + marketdata['name'] = last_starport_name data['lastStarport'].update(marketdata) if services.get('outfitting') or services.get('shipyard'): shipdata = self.query(URL_SHIPYARD) - if last_starport_name != shipdata['name'] or last_starport_id != int(shipdata['id']): - logger.warning(f"{last_starport_name!r} != {shipdata['name']!r} or " - f"{last_starport_id!r} != {int(shipdata['id'])!r}") + if last_starport_id != int(shipdata['id']): + logger.warning(f"{last_starport_id!r} != {int(shipdata['id'])!r}") raise ServerLagging() else: + shipdata['name'] = last_starport_name data['lastStarport'].update(shipdata) +# WORKAROUND END return data