From 50b6e221955de5f48e864704dcd72c427e6e2759 Mon Sep 17 00:00:00 2001 From: Ayush Saini Date: Wed, 18 Jan 2023 23:50:06 +0530 Subject: [PATCH 1/2] 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: From 4b0bccef247c88c54991cb9fc2e45ab1099d995b Mon Sep 17 00:00:00 2001 From: Ayush Saini Date: Thu, 19 Jan 2023 00:28:26 +0530 Subject: [PATCH 2/2] lint fix --- assets/src/ba_data/python/ba/_playlist.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/assets/src/ba_data/python/ba/_playlist.py b/assets/src/ba_data/python/ba/_playlist.py index 40a62eea..0d565634 100644 --- a/assets/src/ba_data/python/ba/_playlist.py +++ b/assets/src/ba_data/python/ba/_playlist.py @@ -4,11 +4,12 @@ from __future__ import annotations -import _ba import copy import logging from typing import Any, TYPE_CHECKING +import _ba + if TYPE_CHECKING: from typing import Sequence from ba import _session @@ -128,8 +129,7 @@ def filter_playlist(playlist: PlaylistType, if entry['settings']['map'] not in available_maps: raise ImportError( - f"Map not found: '{entry['settings']['map']}'" - ) + f"Map not found: '{entry['settings']['map']}'") if remove_unowned and gameclass in unowned_game_types: continue