From 50b6e221955de5f48e864704dcd72c427e6e2759 Mon Sep 17 00:00:00 2001 From: Ayush Saini Date: Wed, 18 Jan 2023 23:50:06 +0530 Subject: [PATCH] filtering unavailable maps from playlist --- assets/src/ba_data/python/ba/_playlist.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/assets/src/ba_data/python/ba/_playlist.py b/assets/src/ba_data/python/ba/_playlist.py index 5518601a..40a62eea 100644 --- a/assets/src/ba_data/python/ba/_playlist.py +++ b/assets/src/ba_data/python/ba/_playlist.py @@ -4,6 +4,7 @@ from __future__ import annotations +import _ba import copy import logging from typing import Any, TYPE_CHECKING @@ -36,6 +37,7 @@ def filter_playlist(playlist: PlaylistType, from ba._gameactivity import GameActivity goodlist: list[dict] = [] unowned_maps: Sequence[str] + available_maps: list[str] = list(_ba.app.maps.keys()) if remove_unowned or mark_unowned: unowned_maps = get_unowned_maps() unowned_game_types = get_unowned_game_types() @@ -124,6 +126,11 @@ def filter_playlist(playlist: PlaylistType, gameclass = getclass(entry['type'], GameActivity) + if entry['settings']['map'] not in available_maps: + raise ImportError( + f"Map not found: '{entry['settings']['map']}'" + ) + if remove_unowned and gameclass in unowned_game_types: continue if add_resolved_type: