music-assistant-server

1.1 KBPY
base.py
1.1 KB32 lines • python
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