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:
commit
868cb97ffc
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user