Skip to content

Commit 0f43381

Browse files
committed
Fix typing of RecommendationFolder items
1 parent ba70e8f commit 0f43381

File tree

2 files changed

+15
-10
lines changed

2 files changed

+15
-10
lines changed

music_assistant_models/media_items/__init__.py

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@
2020
BrowseFolder,
2121
ItemMapping,
2222
MediaItem,
23+
MediaItemType,
24+
MediaItemTypeOrItemMapping,
25+
PlayableMediaItemType,
2326
Playlist,
2427
Podcast,
2528
PodcastEpisode,
@@ -42,10 +45,13 @@
4245
"MediaItemImage",
4346
"MediaItemLink",
4447
"MediaItemMetadata",
48+
"MediaItemType",
49+
"MediaItemTypeOrItemMapping",
4550
"Metadata",
4651
"MetadataProvider",
4752
"MetadataProviderStatus",
4853
"MetadataProviderType",
54+
"PlayableMediaItemType",
4955
"Playlist",
5056
"PlaylistTrack",
5157
"Podcast",
@@ -57,15 +63,6 @@
5763
"UniqueList",
5864
]
5965

60-
MediaItemType = (
61-
Artist | Album | Track | Radio | Playlist | Audiobook | Podcast | PodcastEpisode | BrowseFolder
62-
)
63-
64-
MediaItemTypeOrItemMapping = MediaItemType | ItemMapping
65-
66-
# directly playable media items
67-
PlayableMediaItemType = Track | Radio | Audiobook | PodcastEpisode
68-
6966

7067
@dataclass(kw_only=True)
7168
class SearchResults(DataClassDictMixin):

music_assistant_models/media_items/media_item.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,5 +344,13 @@ class RecommendationFolder(BrowseFolder):
344344

345345
is_playable: bool = False
346346
icon: str | None = None # optional material design icon name
347-
items: UniqueList[MediaItem | ItemMapping] = field(default_factory=UniqueList)
347+
items: UniqueList[MediaItemTypeOrItemMapping] = field(default_factory=UniqueList)
348348
subtitle: str | None = None # optional subtitle for the recommendation
349+
350+
351+
# some type aliases
352+
MediaItemType = (
353+
Artist | Album | Track | Radio | Playlist | Audiobook | Podcast | PodcastEpisode | BrowseFolder
354+
)
355+
MediaItemTypeOrItemMapping = MediaItemType | ItemMapping
356+
PlayableMediaItemType = Track | Radio | Audiobook | PodcastEpisode

0 commit comments

Comments
 (0)