music-assistant-server

1.2 KBPY
__init__.py
1.2 KB41 lines • python
1"""Internet Archive music provider for Music Assistant."""
2
3from __future__ import annotations
4
5from typing import TYPE_CHECKING
6
7from music_assistant_models.enums import ProviderFeature
8
9from .provider import InternetArchiveProvider
10
11if TYPE_CHECKING:
12    from music_assistant_models.config_entries import ConfigEntry, ConfigValueType, ProviderConfig
13    from music_assistant_models.provider import ProviderManifest
14
15    from music_assistant import MusicAssistant
16    from music_assistant.models import ProviderInstanceType
17
18
19SUPPORTED_FEATURES = {
20    ProviderFeature.SEARCH,
21    ProviderFeature.ARTIST_ALBUMS,
22    ProviderFeature.ARTIST_TOPTRACKS,
23}
24
25
26async def setup(
27    mass: MusicAssistant, manifest: ProviderManifest, config: ProviderConfig
28) -> ProviderInstanceType:
29    """Initialize provider instance with given configuration."""
30    return InternetArchiveProvider(mass, manifest, config, SUPPORTED_FEATURES)
31
32
33async def get_config_entries(
34    mass: MusicAssistant,  # noqa: ARG001
35    instance_id: str | None = None,  # noqa: ARG001
36    action: str | None = None,  # noqa: ARG001
37    values: dict[str, ConfigValueType] | None = None,  # noqa: ARG001
38) -> tuple[ConfigEntry, ...]:
39    """Return Config entries to setup this provider."""
40    return ()
41