From: perillamint Date: Fri, 9 Feb 2024 08:45:32 +0000 (+0900) Subject: Subsonic: Implement features required by Nextcloud Music support (#1056) X-Git-Url: https://git.kitaultman.com/?a=commitdiff_plain;h=f8c20b6a69564534bb710b6c0f0afa7e5f6a19e5;p=music-assistant-server.git Subsonic: Implement features required by Nextcloud Music support (#1056) --- diff --git a/music_assistant/server/providers/opensubsonic/__init__.py b/music_assistant/server/providers/opensubsonic/__init__.py index b0349f13..89226a19 100644 --- a/music_assistant/server/providers/opensubsonic/__init__.py +++ b/music_assistant/server/providers/opensubsonic/__init__.py @@ -12,7 +12,12 @@ from music_assistant.common.models.config_entries import ( from music_assistant.common.models.enums import ConfigEntryType from music_assistant.constants import CONF_PASSWORD, CONF_PATH, CONF_PORT, CONF_USERNAME -from .sonic_provider import CONF_BASE_URL, CONF_ENABLE_PODCASTS, OpenSonicProvider +from .sonic_provider import ( + CONF_BASE_URL, + CONF_ENABLE_LEGACY_AUTH, + CONF_ENABLE_PODCASTS, + OpenSonicProvider, +) if TYPE_CHECKING: from music_assistant.common.models.provider import ProviderManifest @@ -81,4 +86,12 @@ async def get_config_entries( description="Should the provider query for podcasts as well as music?", default_value=True, ), + ConfigEntry( + key=CONF_ENABLE_LEGACY_AUTH, + type=ConfigEntryType.BOOLEAN, + label="Enable legacy auth", + required=True, + description='Enable OpenSubsonic "legacy" auth support', + default_value=False, + ), ) diff --git a/music_assistant/server/providers/opensubsonic/sonic_provider.py b/music_assistant/server/providers/opensubsonic/sonic_provider.py index c40d1920..05dfa34c 100644 --- a/music_assistant/server/providers/opensubsonic/sonic_provider.py +++ b/music_assistant/server/providers/opensubsonic/sonic_provider.py @@ -54,6 +54,7 @@ if TYPE_CHECKING: CONF_BASE_URL = "baseURL" CONF_ENABLE_PODCASTS = "enable_podcasts" +CONF_ENABLE_LEGACY_AUTH = "enable_legacy_auth" UNKNOWN_ARTIST_ID = "fake_artist_unknown" @@ -76,6 +77,7 @@ class OpenSonicProvider(MusicProvider): self.config.get_value(CONF_BASE_URL), username=self.config.get_value(CONF_USERNAME), password=self.config.get_value(CONF_PASSWORD), + legacyAuth=self.config.get_value(CONF_ENABLE_LEGACY_AUTH), port=port, serverPath=path, appName="Music Assistant",