mypy fixes for DLNA (#2451)
authorOzGav <gavnosp@hotmail.com>
Fri, 3 Oct 2025 12:33:12 +0000 (22:33 +1000)
committerGitHub <noreply@github.com>
Fri, 3 Oct 2025 12:33:12 +0000 (14:33 +0200)
music_assistant/providers/dlna/helpers.py
music_assistant/providers/dlna/player.py
music_assistant/providers/dlna/provider.py
pyproject.toml

index 32242ae8581c74e221263c069cf8afc56d55b1bc..4f4971b9b622ee4ee168489dd7b1385ba1149467 100644 (file)
@@ -14,7 +14,7 @@ if TYPE_CHECKING:
     from music_assistant import MusicAssistant
 
 
-class DLNANotifyServer(UpnpNotifyServer):
+class DLNANotifyServer(UpnpNotifyServer):  # type: ignore[misc]
     """Notify server for async_upnp_client which uses the MA webserver."""
 
     def __init__(
@@ -35,7 +35,7 @@ class DLNANotifyServer(UpnpNotifyServer):
         # transform aiohttp request to async_upnp_client request
         http_request = HttpRequest(
             method=request.method,
-            url=request.url,
+            url=str(request.url),
             headers=request.headers,
             body=await request.text(),
         )
index 7841b3762b8db1c2e9a39f59ef5859827d1583c6..1fcf2c7aa6d8c84e5431930de0ab847daa2e4d03 100644 (file)
@@ -128,14 +128,13 @@ class DLNAPlayer(Player):
     def _handle_event(
         self,
         service: UpnpService,
-        state_variables: Sequence[UpnpStateVariable],
+        state_variables: Sequence[UpnpStateVariable[Any]],
     ) -> None:
         """Handle state variable(s) changed event from DLNA device."""
         if not state_variables:
             # Indicates a failure to resubscribe, check if device is still available
             self.force_poll = True
             return
-
         if service.service_id == "urn:upnp-org:serviceId:AVTransport":
             for state_variable in state_variables:
                 # Force a state refresh when player begins or pauses playback
@@ -151,7 +150,6 @@ class DLNAPlayer(Player):
                         self.display_name,
                         state_variable.value,
                     )
-
         self.last_seen = time.time()
         self.mass.create_task(self._update_player())
 
index 98c7624900ed99a7ef71aadb8164a3dccad4eb7c..a4de1b76c165f6ca2baa9d697a8d90960549d611 100644 (file)
@@ -50,8 +50,7 @@ class DLNAPlayerProvider(PlayerProvider):
         Called when provider is deregistered (e.g. MA exiting or config reloading).
         """
         self.mass.streams.unregister_dynamic_route("/notify", "NOTIFY")
-        if self.dlnaplayers is None:
-            return
+
         async with TaskManager(self.mass) as tg:
             for dlna_player in self.dlnaplayers.values():
                 tg.create_task(self._device_disconnect(dlna_player))
index d916250a4b6fa9ef2c7ac528ce058377c9243917..3b98b909a678cb057b14b7fcb0d932fd466de47c 100644 (file)
@@ -144,7 +144,6 @@ exclude = [
   '^music_assistant/providers/apple_music/.*$',
   '^music_assistant/providers/bluesound/.*$',
   '^music_assistant/providers/chromecast/.*$',
-  '^music_assistant/providers/dlna/.*$',
   '^music_assistant/providers/hass_players/.*$',
   '^music_assistant/providers/player_group/.*$',
   '^music_assistant/providers/qobuz/.*$',