diff --git a/plugins/eddn.py b/plugins/eddn.py index 29de4910..6533f638 100644 --- a/plugins/eddn.py +++ b/plugins/eddn.py @@ -789,8 +789,18 @@ 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()) + + if isinstance(dict, modules): + modules_horizons = any(module.get('sku') == HORIZ_SKU for module in modules.values()) + + 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()) + + return economies_colony or modules_horizons or ship_horizons