/
/
/
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