music-assistant-server

1.2 KBPY
__init__.py
1.2 KB39 lines • python
1"""MusicCast for MusicAssistant."""
2
3from music_assistant_models.config_entries import ConfigEntry, ConfigValueType, ProviderConfig
4from music_assistant_models.enums import ProviderFeature
5from music_assistant_models.provider import ProviderManifest
6
7from music_assistant.mass import MusicAssistant
8from music_assistant.models import ProviderInstanceType
9
10from .provider import MusicCastProvider
11
12SUPPORTED_FEATURES = {
13    ProviderFeature.SYNC_PLAYERS,
14}
15
16
17async def setup(
18    mass: MusicAssistant, manifest: ProviderManifest, config: ProviderConfig
19) -> ProviderInstanceType:
20    """Initialize provider(instance) with given configuration."""
21    return MusicCastProvider(mass, manifest, config, SUPPORTED_FEATURES)
22
23
24async def get_config_entries(
25    mass: MusicAssistant,
26    instance_id: str | None = None,
27    action: str | None = None,
28    values: dict[str, ConfigValueType] | None = None,
29) -> tuple[ConfigEntry, ...]:
30    """
31    Return Config entries to setup this provider.
32
33    instance_id: id of an existing provider instance (None if new instance setup).
34    action: [optional] action key called from config entries UI.
35    values: the (intermediate) raw values for config entries sent with the action.
36    """
37    # ruff: noqa: ARG001
38    return ()
39