Add some additional logging for common mistakes (#382)
authorMarcel van der Veldt <m.vanderveldt@outlook.com>
Thu, 23 Jun 2022 09:17:17 +0000 (11:17 +0200)
committerGitHub <noreply@github.com>
Thu, 23 Jun 2022 09:17:17 +0000 (11:17 +0200)
* raise error when spotify account used

* print warning when emailaddress used for tunein

music_assistant/music_providers/spotify.py
music_assistant/music_providers/tunein.py

index f95e31b5d3352aabbdd3656293b11586319394a5..f9da7013b930550aba1c83c8aa436a41c2714c92 100644 (file)
@@ -70,7 +70,15 @@ class SpotifyProvider(MusicProvider):
         self._cache_dir = os.path.join(CACHE_DIR, self.id)
         token = await self.get_token()
         if not token:
-            raise LoginFailed(f"Login failed for user {self.config.username}")
+            try:
+                # a spotify free/basic account can be recoognized when
+                # the username consists of numbers only - check that here
+                int(self.config.username)
+                # an integer can be parsed of the username, this is a free account
+                raise LoginFailed("Only Spotify Premium accounts are supported")
+            except ValueError:
+                # pylint: disable=raise-missing-from
+                raise LoginFailed(f"Login failed for user {self.config.username}")
         return True
 
     async def search(
index 239896d4fd106c0457cbed8a65599293f1b38e9f..e39c2cc7b544478e2883e2931ef632892b28f77c 100644 (file)
@@ -38,6 +38,11 @@ class TuneInProvider(MusicProvider):
             return False
         if not self.config.username:
             raise LoginFailed("Username is invalid")
+        if "@" in self.config.username:
+            self.logger.warning(
+                "Emailadress detected instead of username, "
+                "it is advised to use the tunein username instead of email."
+            )
         return True
 
     async def search(