/
/
/
1"""Base classes for nicovideo converters."""
2
3from __future__ import annotations
4
5from typing import TYPE_CHECKING
6
7if TYPE_CHECKING:
8 from music_assistant.models.music_provider import MusicProvider
9 from music_assistant.providers.nicovideo.converters.helper import NicovideoConverterHelper
10 from music_assistant.providers.nicovideo.converters.manager import (
11 NicovideoConverterManager,
12 )
13
14
15class NicovideoConverterBase:
16 """Base class for specialized nicovideo converters."""
17
18 def __init__(self, converter_manager: NicovideoConverterManager) -> None:
19 """Initialize with reference to main converter."""
20 self.converter_manager = converter_manager
21 self.logger = converter_manager.logger.getChild(self.__class__.__name__)
22
23 @property
24 def provider(self) -> MusicProvider:
25 """Get the main converter manager instance."""
26 return self.converter_manager.provider
27
28 @property
29 def helper(self) -> NicovideoConverterHelper:
30 """Get the helper instance."""
31 return self.converter_manager.helper
32