refactor names
This commit is contained in:
parent
2f3a647775
commit
c0e31a28c3
7 changed files with 19 additions and 19 deletions
|
|
@ -5,12 +5,12 @@ from ytdl_subscribe.entries.soundcloud import SoundcloudAlbum
|
||||||
from ytdl_subscribe.entries.soundcloud import SoundcloudTrack
|
from ytdl_subscribe.entries.soundcloud import SoundcloudTrack
|
||||||
from ytdl_subscribe.subscriptions.subscription import Subscription
|
from ytdl_subscribe.subscriptions.subscription import Subscription
|
||||||
from ytdl_subscribe.validators.config.source_options.soundcloud_validators import (
|
from ytdl_subscribe.validators.config.source_options.soundcloud_validators import (
|
||||||
SoundcloudAlbumsAndSinglesDownloadValidator,
|
SoundcloudAlbumsAndSinglesSourceValidator,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class SoundcloudAlbumsAndSinglesSubscription(
|
class SoundcloudAlbumsAndSinglesSubscription(
|
||||||
Subscription[SoundcloudAlbumsAndSinglesDownloadValidator]
|
Subscription[SoundcloudAlbumsAndSinglesSourceValidator]
|
||||||
):
|
):
|
||||||
def extract_info(self):
|
def extract_info(self):
|
||||||
tracks: List[SoundcloudTrack] = []
|
tracks: List[SoundcloudTrack] = []
|
||||||
|
|
|
||||||
|
|
@ -26,11 +26,11 @@ from ytdl_subscribe.validators.config.overrides.overrides_validator import Overr
|
||||||
from ytdl_subscribe.validators.config.preset_validator import PresetValidator
|
from ytdl_subscribe.validators.config.preset_validator import PresetValidator
|
||||||
from ytdl_subscribe.validators.config.source_options.source_validators import SourceValidator
|
from ytdl_subscribe.validators.config.source_options.source_validators import SourceValidator
|
||||||
|
|
||||||
T = TypeVar("T", bound=SourceValidator)
|
S = TypeVar("S", bound=SourceValidator)
|
||||||
U = TypeVar("U", bound=Downloader)
|
D = TypeVar("D", bound=Downloader)
|
||||||
|
|
||||||
|
|
||||||
class Subscription(Generic[T], ABC):
|
class Subscription(Generic[S], ABC):
|
||||||
def __init__(
|
def __init__(
|
||||||
self,
|
self,
|
||||||
name: str,
|
name: str,
|
||||||
|
|
@ -50,11 +50,11 @@ class Subscription(Generic[T], ABC):
|
||||||
self.__preset_options = preset_options
|
self.__preset_options = preset_options
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def source_options(self) -> T:
|
def source_options(self) -> S:
|
||||||
"""Returns the source options defined for this subscription"""
|
"""Returns the source options defined for this subscription"""
|
||||||
return self.__preset_options.subscription_source
|
return self.__preset_options.subscription_source
|
||||||
|
|
||||||
def get_downloader(self, downloader_type: Type[U]) -> U:
|
def get_downloader(self, downloader_type: Type[D]) -> D:
|
||||||
"""Returns the downloader that will be used to download media for this subscription"""
|
"""Returns the downloader that will be used to download media for this subscription"""
|
||||||
return downloader_type(
|
return downloader_type(
|
||||||
output_directory=self.working_directory,
|
output_directory=self.working_directory,
|
||||||
|
|
|
||||||
|
|
@ -1,11 +1,11 @@
|
||||||
from ytdl_subscribe.downloaders.youtube_downloader import YoutubeDownloader
|
from ytdl_subscribe.downloaders.youtube_downloader import YoutubeDownloader
|
||||||
from ytdl_subscribe.subscriptions.subscription import Subscription
|
from ytdl_subscribe.subscriptions.subscription import Subscription
|
||||||
from ytdl_subscribe.validators.config.source_options.youtube_validators import (
|
from ytdl_subscribe.validators.config.source_options.youtube_validators import (
|
||||||
YoutubePlaylistDownloadValidator,
|
YoutubePlaylistSourceValidator,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class YoutubePlaylistSubscription(Subscription[YoutubePlaylistDownloadValidator]):
|
class YoutubePlaylistSubscription(Subscription[YoutubePlaylistSourceValidator]):
|
||||||
def extract_info(self):
|
def extract_info(self):
|
||||||
entries = self.get_downloader(YoutubeDownloader).download_playlist(
|
entries = self.get_downloader(YoutubeDownloader).download_playlist(
|
||||||
playlist_id=self.source_options.playlist_id.value
|
playlist_id=self.source_options.playlist_id.value
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,11 @@ from typing import Type
|
||||||
from ytdl_subscribe.validators.base.strict_dict_validator import StrictDictValidator
|
from ytdl_subscribe.validators.base.strict_dict_validator import StrictDictValidator
|
||||||
from ytdl_subscribe.validators.base.validators import StringValidator
|
from ytdl_subscribe.validators.base.validators import StringValidator
|
||||||
from ytdl_subscribe.validators.config.source_options.soundcloud_validators import (
|
from ytdl_subscribe.validators.config.source_options.soundcloud_validators import (
|
||||||
SoundcloudAlbumsAndSinglesDownloadValidator,
|
SoundcloudAlbumsAndSinglesSourceValidator,
|
||||||
)
|
)
|
||||||
from ytdl_subscribe.validators.config.source_options.source_validators import SourceValidator
|
from ytdl_subscribe.validators.config.source_options.source_validators import SourceValidator
|
||||||
from ytdl_subscribe.validators.config.source_options.youtube_validators import (
|
from ytdl_subscribe.validators.config.source_options.youtube_validators import (
|
||||||
YoutubePlaylistDownloadValidator,
|
YoutubePlaylistSourceValidator,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -56,9 +56,9 @@ class DownloadStrategyValidator(StrictDictValidator, ABC):
|
||||||
|
|
||||||
class SoundcloudDownloadStrategyValidator(DownloadStrategyValidator):
|
class SoundcloudDownloadStrategyValidator(DownloadStrategyValidator):
|
||||||
_download_strategy_to_source_mapping = {
|
_download_strategy_to_source_mapping = {
|
||||||
"albums_and_singles": SoundcloudAlbumsAndSinglesDownloadValidator
|
"albums_and_singles": SoundcloudAlbumsAndSinglesSourceValidator
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class YoutubeDownloadStrategyValidator(DownloadStrategyValidator):
|
class YoutubeDownloadStrategyValidator(DownloadStrategyValidator):
|
||||||
_download_strategy_to_source_mapping = {"playlist": YoutubePlaylistDownloadValidator}
|
_download_strategy_to_source_mapping = {"playlist": YoutubePlaylistSourceValidator}
|
||||||
|
|
|
||||||
|
|
@ -4,7 +4,7 @@ from ytdl_subscribe.validators.config.source_options.source_validators import (
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
class SoundcloudAlbumsAndSinglesDownloadValidator(SoundcloudSourceValidator):
|
class SoundcloudAlbumsAndSinglesSourceValidator(SoundcloudSourceValidator):
|
||||||
_required_keys = {"username"}
|
_required_keys = {"username"}
|
||||||
|
|
||||||
def __init__(self, name, value):
|
def __init__(self, name, value):
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ from ytdl_subscribe.validators.base.validators import StringValidator
|
||||||
from ytdl_subscribe.validators.config.source_options.source_validators import YoutubeSourceValidator
|
from ytdl_subscribe.validators.config.source_options.source_validators import YoutubeSourceValidator
|
||||||
|
|
||||||
|
|
||||||
class YoutubePlaylistDownloadValidator(YoutubeSourceValidator):
|
class YoutubePlaylistSourceValidator(YoutubeSourceValidator):
|
||||||
_required_keys = {"playlist_id"}
|
_required_keys = {"playlist_id"}
|
||||||
|
|
||||||
def __init__(self, name, value):
|
def __init__(self, name, value):
|
||||||
|
|
|
||||||
|
|
@ -16,10 +16,10 @@ from ytdl_subscribe.validators.config.preset_validator import PRESET_OPTIONAL_KE
|
||||||
from ytdl_subscribe.validators.config.preset_validator import PRESET_REQUIRED_KEYS
|
from ytdl_subscribe.validators.config.preset_validator import PRESET_REQUIRED_KEYS
|
||||||
from ytdl_subscribe.validators.config.preset_validator import PresetValidator
|
from ytdl_subscribe.validators.config.preset_validator import PresetValidator
|
||||||
from ytdl_subscribe.validators.config.source_options.soundcloud_validators import (
|
from ytdl_subscribe.validators.config.source_options.soundcloud_validators import (
|
||||||
SoundcloudAlbumsAndSinglesDownloadValidator,
|
SoundcloudAlbumsAndSinglesSourceValidator,
|
||||||
)
|
)
|
||||||
from ytdl_subscribe.validators.config.source_options.youtube_validators import (
|
from ytdl_subscribe.validators.config.source_options.youtube_validators import (
|
||||||
YoutubePlaylistDownloadValidator,
|
YoutubePlaylistSourceValidator,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -65,9 +65,9 @@ class SubscriptionValidator(StrictDictValidator):
|
||||||
)
|
)
|
||||||
|
|
||||||
def to_subscription(self) -> Subscription:
|
def to_subscription(self) -> Subscription:
|
||||||
if isinstance(self.preset.subscription_source, SoundcloudAlbumsAndSinglesDownloadValidator):
|
if isinstance(self.preset.subscription_source, SoundcloudAlbumsAndSinglesSourceValidator):
|
||||||
subscription_class = SoundcloudAlbumsAndSinglesSubscription
|
subscription_class = SoundcloudAlbumsAndSinglesSubscription
|
||||||
elif isinstance(self.preset.subscription_source, YoutubePlaylistDownloadValidator):
|
elif isinstance(self.preset.subscription_source, YoutubePlaylistSourceValidator):
|
||||||
subscription_class = YoutubePlaylistSubscription
|
subscription_class = YoutubePlaylistSubscription
|
||||||
else:
|
else:
|
||||||
raise ValueError("subscription source class not found")
|
raise ValueError("subscription source class not found")
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue