From: Marcel van der Veldt Date: Mon, 17 Feb 2025 19:26:57 +0000 (+0100) Subject: Fix: use correct provider instance name X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=b0db3dfae81f015275c17de013909d3ce813b363;p=music-assistant-server.git Fix: use correct provider instance name --- diff --git a/music_assistant/models/provider.py b/music_assistant/models/provider.py index d598dffc..01c21d05 100644 --- a/music_assistant/models/provider.py +++ b/music_assistant/models/provider.py @@ -3,7 +3,7 @@ from __future__ import annotations import logging -from typing import TYPE_CHECKING, Any +from typing import TYPE_CHECKING, Any, final from music_assistant.constants import CONF_LOG_LEVEL, MASS_LOGGER_NAME @@ -72,25 +72,34 @@ class Provider: """Handle MDNS service state callback.""" @property + @final def type(self) -> ProviderType: """Return type of this provider.""" return self.manifest.type @property + @final def domain(self) -> str: """Return domain for this provider.""" return self.manifest.domain @property + @final def instance_id(self) -> str: """Return instance_id for this provider(instance).""" return self.config.instance_id @property + @final def name(self) -> str: """Return (custom) friendly name for this provider instance.""" if self.config.name: return self.config.name + return self.default_name + + @property + def default_name(self) -> str: + """Return a default name for this provider instance.""" inst_count = len([x for x in self.mass.music.providers if x.domain == self.domain]) if inst_count > 1: postfix = self.instance_id[-8:] @@ -102,7 +111,7 @@ class Provider: return { "type": self.type.value, "domain": self.domain, - "name": self.config.name or self.name, + "name": self.name, "instance_id": self.instance_id, "lookup_key": self.lookup_key, "supported_features": [x.value for x in self.supported_features], diff --git a/music_assistant/providers/filesystem_local/__init__.py b/music_assistant/providers/filesystem_local/__init__.py index 150ecfa0..fcfc0054 100644 --- a/music_assistant/providers/filesystem_local/__init__.py +++ b/music_assistant/providers/filesystem_local/__init__.py @@ -187,10 +187,8 @@ class LocalFileSystemProvider(MusicProvider): return False @property - def name(self) -> str: - """Return (custom) friendly name for this provider instance.""" - if self.config.name: - return self.config.name + def default_name(self) -> str: + """Return default name for this provider instance.""" postfix = self.base_path.split(os.sep)[-1] return f"{self.manifest.name} {postfix}" diff --git a/music_assistant/providers/filesystem_smb/__init__.py b/music_assistant/providers/filesystem_smb/__init__.py index bc2c5b00..72b2213e 100644 --- a/music_assistant/providers/filesystem_smb/__init__.py +++ b/music_assistant/providers/filesystem_smb/__init__.py @@ -145,10 +145,8 @@ class SMBFileSystemProvider(LocalFileSystemProvider): """ @property - def name(self) -> str: - """Return (custom) friendly name for this provider instance.""" - if self.config.name: - return self.config.name + def default_name(self) -> str: + """Return default name for this provider instance.""" share = str(self.config.get_value(CONF_SHARE)) subfolder = str(self.config.get_value(CONF_SUBFOLDER)) if subfolder: @@ -156,7 +154,7 @@ class SMBFileSystemProvider(LocalFileSystemProvider): elif share: postfix = share else: - return super().name + return super().default_name return f"{self.manifest.name} {postfix}" async def handle_async_init(self) -> None: diff --git a/music_assistant/providers/podcastfeed/__init__.py b/music_assistant/providers/podcastfeed/__init__.py index bf9148dd..0e18cc7f 100644 --- a/music_assistant/providers/podcastfeed/__init__.py +++ b/music_assistant/providers/podcastfeed/__init__.py @@ -125,12 +125,12 @@ class PodcastMusicprovider(MusicProvider): return False @property - def name(self) -> str: - """Return (custom) friendly name for this provider instance.""" + def default_name(self) -> str: + """Return default name for this provider instance.""" if self.parsed: postfix = self.parsed["title"] return f"{self.manifest.name}: {postfix}" - return super().name + return super().default_name async def get_library_podcasts(self) -> AsyncGenerator[Podcast, None]: """Retrieve library/subscribed podcasts from the provider.""" diff --git a/music_assistant/providers/spotify/__init__.py b/music_assistant/providers/spotify/__init__.py index 6c15b72a..7557a908 100644 --- a/music_assistant/providers/spotify/__init__.py +++ b/music_assistant/providers/spotify/__init__.py @@ -288,8 +288,8 @@ class SpotifyProvider(MusicProvider): return base @property - def name(self) -> str: - """Return (custom) friendly name for this provider instance.""" + def default_name(self) -> str: + """Return default name for this provider instance.""" if self._sp_user: postfix = self._sp_user["display_name"] return f"{self.manifest.name}: {postfix}"