music-assistant-server

1.3 KBPY
base.py
1.3 KB37 lines • python
1"""Base service for nicovideo."""
2
3from __future__ import annotations
4
5from typing import TYPE_CHECKING
6
7if TYPE_CHECKING:
8    from niconico import NicoNico
9
10    from music_assistant.providers.nicovideo.config import NicovideoConfig
11    from music_assistant.providers.nicovideo.converters import NicovideoConverterManager
12    from music_assistant.providers.nicovideo.services.manager import NicovideoServiceManager
13
14
15class NicovideoBaseService:
16    """Base service for MusicAssistant integration classes."""
17
18    def __init__(self, service_manager: NicovideoServiceManager) -> None:
19        """Initialize the NicovideoBaseService with a reference to the parent service manager."""
20        self.service_manager = service_manager
21        self.logger = service_manager.logger.getChild(self.__class__.__name__)
22
23    @property
24    def nicovideo_config(self) -> NicovideoConfig:
25        """Get the config helper instance."""
26        return self.service_manager.nicovideo_config
27
28    @property
29    def converter_manager(self) -> NicovideoConverterManager:
30        """Get the main converter instance."""
31        return self.service_manager.converter_manager
32
33    @property
34    def niconico_py_client(self) -> NicoNico:
35        """Get the niconico.py client instance."""
36        return self.service_manager.niconico_py_client
37