1
0
mirror of https://github.com/EDCD/EDMarketConnector.git synced 2025-04-16 09:10:35 +03:00

Merge pull request #916 from EDCD/fix/907/damaged-station-modules-is-list

plugins/eddn: Add paranoia about data in is_horizons()
This commit is contained in:
Athanasius 2021-03-15 17:27:24 +00:00 committed by GitHub
commit 868cb97ffc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -789,8 +789,30 @@ MAP_STR_ANY = Mapping[str, Any]
def is_horizons(economies: MAP_STR_ANY, modules: MAP_STR_ANY, ships: MAP_STR_ANY) -> bool:
return (
any(economy['name'] == 'Colony' for economy in economies.values()) or
any(module.get('sku') == HORIZ_SKU for module in modules.values()) or
any(ship.get('sku') == HORIZ_SKU for ship in (ships['shipyard_list'] or {}).values())
)
economies_colony = False
modules_horizons = False
ship_horizons = False
if isinstance(dict, economies):
economies_colony = any(economy['name'] == 'Colony' for economy in economies.values())
else:
logger.error(f'economies type is {type(economies)}')
if isinstance(dict, modules):
modules_horizons = any(module.get('sku') == HORIZ_SKU for module in modules.values())
else:
logger.error(f'modules type is {type(modules)}')
if isinstance(dict, ships):
if ships.get('shipyard_list') is not None:
ship_horizons = any(ship.get('sku') == HORIZ_SKU for ship in ships['shipyard_list'].values())
else:
logger.debug('No ships["shipyard_list"] - Damaged station or FC ?')
else:
logger.error(f'ships type is {type(ships)}')
return economies_colony or modules_horizons or ship_horizons