ytdl_subscribe.subscriptions package
Submodules
ytdl_subscribe.subscriptions.soundcloud module
- class ytdl_subscribe.subscriptions.soundcloud.SoundcloudAlbumsAndSinglesSubscription(name: str, config_options: ytdl_subscribe.validators.config.config_options.config_options_validator.ConfigOptionsValidator, preset_options: ytdl_subscribe.validators.config.preset_validator.PresetValidator)
Bases:
ytdl_subscribe.subscriptions.subscription.Subscription[ytdl_subscribe.validators.config.source_options.soundcloud_validators.SoundcloudAlbumsAndSinglesSourceValidator,ytdl_subscribe.entries.soundcloud.SoundcloudTrack]Soundcloud subscription to download albums and tracks as singles.
ytdl_subscribe.subscriptions.subscription module
- class ytdl_subscribe.subscriptions.subscription.Subscription(name: str, config_options: ytdl_subscribe.validators.config.config_options.config_options_validator.ConfigOptionsValidator, preset_options: ytdl_subscribe.validators.config.preset_validator.PresetValidator)
Bases:
Generic[ytdl_subscribe.subscriptions.subscription.SourceT,ytdl_subscribe.subscriptions.subscription.EntryT],abc.ABCSubscription classes are the ‘controllers’ that perform…
Downloading via ytdlp
Adding metadata
Placing files in the output directory
while configuring each step with provided configs. Child classes are expected to provide SourceValidator (SourceT), which defines the source and its configurable options. In addition, they should provide in the init an Entry type (EntryT), which is the entry that will be returned after downloading.
- download()
Performs the subscription download.
- property entry_type: Type[ytdl_subscribe.subscriptions.subscription.EntryT]
The Entry type this subscription uses to represent downloaded media
- Type
return
- get_downloader(downloader_type: Type[ytdl_subscribe.subscriptions.subscription.DownloaderT], source_ytdl_options: Optional[Dict] = None) ytdl_subscribe.subscriptions.subscription.DownloaderT
Returns the downloader that will be used to download media for this subscription
- property metadata_options: ytdl_subscribe.validators.config.metadata_options.metadata_options_validator.MetadataOptionsValidator
Returns the metadata options defined for this subscription
- property output_directory: str
The formatted output directory
- Type
return
- property output_options: ytdl_subscribe.validators.config.output_options.output_options_validator.OutputOptionsValidator
Returns the output options defined for this subscription
- property overrides: ytdl_subscribe.validators.config.overrides.overrides_validator.OverridesValidator
Returns the overrides defined for this subscription
- post_process_entry(entry: ytdl_subscribe.entries.entry.Entry) None
After downloading an entry to the working directory, perform all post-processing, which includes:
Adding metadata to the entry file itself (music tags)
Moving the entry file + thumbnail to the output directory with its formatted name
Creating new metadata files (NFO) to reside alongside the entry files
- Parameters
entry – The entry to post-process
- property source_options: ytdl_subscribe.subscriptions.subscription.SourceT
Returns the source options defined for this subscription
- property working_directory: str
Returns the directory that the downloader saves files to
ytdl_subscribe.subscriptions.youtube module
- class ytdl_subscribe.subscriptions.youtube.YoutubeChannelSubscription(name: str, config_options: ytdl_subscribe.validators.config.config_options.config_options_validator.ConfigOptionsValidator, preset_options: ytdl_subscribe.validators.config.preset_validator.PresetValidator)
Bases:
ytdl_subscribe.subscriptions.subscription.Subscription[ytdl_subscribe.validators.config.source_options.youtube_validators.YoutubeChannelSourceValidator,ytdl_subscribe.entries.youtube.YoutubeVideo]Youtube subscription to download videos from a channel
- class ytdl_subscribe.subscriptions.youtube.YoutubePlaylistSubscription(name: str, config_options: ytdl_subscribe.validators.config.config_options.config_options_validator.ConfigOptionsValidator, preset_options: ytdl_subscribe.validators.config.preset_validator.PresetValidator)
Bases:
ytdl_subscribe.subscriptions.subscription.Subscription[ytdl_subscribe.validators.config.source_options.youtube_validators.YoutubePlaylistSourceValidator,ytdl_subscribe.entries.youtube.YoutubeVideo]Youtube subscription to download videos from a playlist
- class ytdl_subscribe.subscriptions.youtube.YoutubeVideoSubscription(name: str, config_options: ytdl_subscribe.validators.config.config_options.config_options_validator.ConfigOptionsValidator, preset_options: ytdl_subscribe.validators.config.preset_validator.PresetValidator)
Bases:
ytdl_subscribe.subscriptions.subscription.Subscription[ytdl_subscribe.validators.config.source_options.youtube_validators.YoutubeVideoSourceValidator,ytdl_subscribe.entries.youtube.YoutubeVideo]Youtube subscription to download a single video