some minor tweaks
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Thu, 22 Aug 2024 08:25:18 +0000 (10:25 +0200)
committerMarcel van der Veldt <m.vanderveldt@outlook.com>
Thu, 22 Aug 2024 08:25:18 +0000 (10:25 +0200)
music_assistant/server/helpers/auth.py
music_assistant/server/providers/tunein/__init__.py

index 2700aaf65b1d943d4699be49faeac6535ec5741f..76c47741dccdd01cd3b5e8739397c45045d3d7a7 100644 (file)
@@ -9,6 +9,7 @@ from typing import TYPE_CHECKING
 from aiohttp.web import Request, Response
 
 from music_assistant.common.models.enums import EventType
+from music_assistant.common.models.errors import LoginFailed
 
 if TYPE_CHECKING:
     from music_assistant.server import MusicAssistant
@@ -62,8 +63,11 @@ class AuthenticationHelper:
 
     async def wait_for_callback(self, timeout: int = 60) -> dict[str, str]:
         """Wait for the external party to call the callback and return any query strings."""
-        async with asyncio.timeout(timeout):
-            return await self._callback_response.get()
+        try:
+            async with asyncio.timeout(timeout):
+                return await self._callback_response.get()
+        except TimeoutError as err:
+            raise LoginFailed("Timeout while waiting for authentication callback") from err
 
     async def _handle_callback(self, request: Request) -> Response:
         """Handle callback response."""
index 6388f413016ba47cd7c745abfd4877bdc9bc22aa..55265b1b03d6b47b49cdd579787fbe75ae4df510 100644 (file)
@@ -274,7 +274,7 @@ class TuneInProvider(MusicProvider):
             url = endpoint
         else:
             url = f"https://opml.radiotime.com/{endpoint}"
-            kwargs["formats"] = "ogg,aac,wma,mp3"
+            kwargs["formats"] = "ogg,aac,wma,mp3,hls"
             kwargs["username"] = self.config.get_value(CONF_USERNAME)
             kwargs["partnerId"] = "1"
             kwargs["render"] = "json"