mypy fixes for Soundcloud (#2453)
authorOzGav <gavnosp@hotmail.com>
Fri, 3 Oct 2025 12:36:31 +0000 (22:36 +1000)
committerGitHub <noreply@github.com>
Fri, 3 Oct 2025 12:36:31 +0000 (14:36 +0200)
music_assistant/providers/soundcloud/__init__.py
pyproject.toml

index afcaa49cc4c82b613057afdf022da71973156ab3..41323299366abde68fbb022f60e555196cf43f1a 100644 (file)
@@ -3,7 +3,7 @@
 from __future__ import annotations
 
 import time
-from typing import TYPE_CHECKING, Any
+from typing import TYPE_CHECKING, Any, cast
 
 from music_assistant_models.config_entries import ConfigEntry, ConfigValueType
 from music_assistant_models.enums import (
@@ -185,7 +185,7 @@ class SoundcloudMusicProvider(MusicProvider):
 
             try:
                 playlist = await self._get_playlist_object(
-                    playlist_id=raw_playlist["id"],
+                    prov_playlist_id=raw_playlist["id"],
                 )
 
                 yield await self._parse_playlist(playlist)
@@ -301,10 +301,12 @@ class SoundcloudMusicProvider(MusicProvider):
         """Get playlist object from Soundcloud API based on playlist ID type."""
         if prov_playlist_id.startswith("soundcloud:system-playlists"):
             # Handle system playlists
-            return await self._soundcloud.get_system_playlist_details(prov_playlist_id)
+            result = await self._soundcloud.get_system_playlist_details(prov_playlist_id)
+            return cast("dict[str, Any]", result)
         else:
             # Handle regular playlists
-            return await self._soundcloud.get_playlist_details(prov_playlist_id)
+            result = await self._soundcloud.get_playlist_details(prov_playlist_id)
+            return cast("dict[str, Any]", result)
 
     @use_cache(3600 * 3)  # Cache for 3 hours
     async def get_playlist_tracks(self, prov_playlist_id: str, page: int = 0) -> list[Track]:
index 3b98b909a678cb057b14b7fcb0d932fd466de47c..9c4dbfe663acf96e87127a249f2fb686f589d00d 100644 (file)
@@ -150,7 +150,6 @@ exclude = [
   '^music_assistant/providers/siriusxm/.*$',
   '^music_assistant/providers/squeezelite/.*$',
   '^music_assistant/providers/sonos/.*$',
-  '^music_assistant/providers/soundcloud/.*$',
   '^music_assistant/providers/snapcast/.*$',
   '^music_assistant/providers/ytmusic/.*$',
 ]