From b8d982c6f2cae960ec1dbfd10b2889811263be6a Mon Sep 17 00:00:00 2001 From: Jonathan Harris Date: Tue, 5 Sep 2017 19:18:55 +0100 Subject: [PATCH] Trim ship description --- companion.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/companion.py b/companion.py index 10913af7..d972496e 100644 --- a/companion.py +++ b/companion.py @@ -386,7 +386,6 @@ def ship(data): ('fuel', 'main', 'capacity'), ('fuel', 'reserve', 'capacity'), ('id',), - ('launchBays',), ('name',), ('shipID',), ('shipName',), @@ -395,12 +394,28 @@ def ship(data): ('value', 'unloaned'), ]: addleaf(data['ship'], description, props) + if data['ship'].get('launchBays'): + description['launchBays'] = {} + for slot in data['ship'].get('launchBays', {}): + for subslot in data['ship']['launchBays'].get(slot, {}): + for prop in ['loadout', 'loadoutName', 'name']: + addleaf(data['ship']['launchBays'], description['launchBays'], (slot, subslot, prop)) + description['modules'] = {} for slot in data['ship'].get('modules', {}): for prop in data['ship']['modules'][slot]: if prop == 'module': for prop2 in ['free', 'id', 'name', 'on', 'priority', 'value', 'unloaned']: addleaf(data['ship']['modules'], description['modules'], (slot, prop, prop2)) + elif prop == 'engineer': + for prop2 in ['engineerName', 'recipeLevel', 'recipeName']: + addleaf(data['ship']['modules'], description['modules'], (slot, prop, prop2)) + elif prop in ['modifications', 'WorkInProgress_modifications']: + for mod in data['ship']['modules'][slot].get(prop, {}): + addleaf(data['ship']['modules'], description['modules'], (slot, prop, mod, 'value')) + elif prop == 'specialModifications': + if data['ship']['modules'][slot][prop]: + addleaf(data['ship']['modules'], description['modules'], (slot, prop)) else: addleaf(data['ship']['modules'], description['modules'], (slot, prop))