mirror of
https://github.com/RYDE-WORK/ballistica.git
synced 2026-02-04 22:43:17 +08:00
Merge pull request #559 from imayushsaini/playlist_
filtering unavailable maps from playlist
This commit is contained in:
commit
34efc25086
@ -8,6 +8,8 @@ import copy
|
|||||||
import logging
|
import logging
|
||||||
from typing import Any, TYPE_CHECKING
|
from typing import Any, TYPE_CHECKING
|
||||||
|
|
||||||
|
import _ba
|
||||||
|
|
||||||
if TYPE_CHECKING:
|
if TYPE_CHECKING:
|
||||||
from typing import Sequence
|
from typing import Sequence
|
||||||
from ba import _session
|
from ba import _session
|
||||||
@ -39,6 +41,7 @@ def filter_playlist(
|
|||||||
|
|
||||||
goodlist: list[dict] = []
|
goodlist: list[dict] = []
|
||||||
unowned_maps: Sequence[str]
|
unowned_maps: Sequence[str]
|
||||||
|
available_maps: list[str] = list(_ba.app.maps.keys())
|
||||||
if remove_unowned or mark_unowned:
|
if remove_unowned or mark_unowned:
|
||||||
unowned_maps = get_unowned_maps()
|
unowned_maps = get_unowned_maps()
|
||||||
unowned_game_types = get_unowned_game_types()
|
unowned_game_types = get_unowned_game_types()
|
||||||
@ -157,6 +160,10 @@ def filter_playlist(
|
|||||||
|
|
||||||
gameclass = getclass(entry['type'], GameActivity)
|
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:
|
if remove_unowned and gameclass in unowned_game_types:
|
||||||
continue
|
continue
|
||||||
if add_resolved_type:
|
if add_resolved_type:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user