from base64 import b64encode
from contextlib import suppress
from time import time
-from typing import TYPE_CHECKING, Any, cast
+from typing import TYPE_CHECKING, cast
from uuid import uuid4
import aiofiles
if TYPE_CHECKING:
from music_assistant_models.config_entries import CoreConfig
+ from music_assistant import MusicAssistant
from music_assistant.models.metadata_provider import MetadataProvider
from music_assistant.providers.musicbrainz import MusicbrainzProvider
domain: str = "metadata"
config: CoreConfig
- def __init__(self, *args: Any, **kwargs: Any) -> None:
+ def __init__(self, mass: MusicAssistant) -> None:
"""Initialize class."""
- super().__init__(*args, **kwargs)
+ super().__init__(mass)
self.cache = self.mass.cache
self._pref_lang: str | None = None
self.manifest.name = "Metadata controller"
from music_assistant_models.config_entries import CoreConfig
from music_assistant_models.media_items import Audiobook, PodcastEpisode
+ from music_assistant import MusicAssistant
+
CONF_RESET_DB = "reset_db"
DEFAULT_SYNC_INTERVAL = 12 * 60 # default sync interval in minutes
database: DatabaseConnection | None = None
config: CoreConfig
- def __init__(self, *args, **kwargs) -> None:
+ def __init__(self, mass: MusicAssistant) -> None:
"""Initialize class."""
- super().__init__(*args, **kwargs)
+ super().__init__(mass)
self.cache = self.mass.cache
self.artists = ArtistsController(self.mass)
self.albums = AlbumsController(self.mass)
UniqueList,
)
+ from music_assistant import MusicAssistant
from music_assistant.models.player import Player
domain: str = "player_queues"
- def __init__(self, *args, **kwargs) -> None:
+ def __init__(self, mass: MusicAssistant) -> None:
"""Initialize core controller."""
- super().__init__(*args, **kwargs)
+ super().__init__(mass)
self._queues: dict[str, PlayerQueue] = {}
self._queue_items: dict[str, list[QueueItem]] = {}
self._prev_states: dict[str, CompareState] = {}
from music_assistant_models.config_entries import CoreConfig, PlayerConfig
from music_assistant_models.player_queue import PlayerQueue
+ from music_assistant import MusicAssistant
+
CACHE_CATEGORY_PLAYER_POWER = 1
domain: str = "players"
- def __init__(self, *args: Any, **kwargs: Any) -> None:
+ def __init__(self, mass: MusicAssistant) -> None:
"""Initialize core controller."""
- super().__init__(*args, **kwargs)
+ super().__init__(mass)
self._players: dict[str, Player] = {}
self._controls: dict[str, PlayerControl] = {}
self.manifest.name = "Player Controller"