54 lines
2.2 KiB
Python
Executable File
54 lines
2.2 KiB
Python
Executable File
import os
|
|
import yt_dlp
|
|
|
|
|
|
class download():
|
|
def dropout(show,season,episode):
|
|
directory='/mnt/plex/tv/'+show+'/Season '+season+'/'
|
|
url_mapping={
|
|
'Dimension 20':f'https://www.dropout.tv/dimension-20/season:{season}',
|
|
'Make Some Noise':f'https://www.dropout.tv/make-some-noise/season:{season}'
|
|
}
|
|
url = url_mapping.get(show)
|
|
if not os.path.exists(directory):
|
|
os.makedirs(directory)
|
|
if episode is None or episode == '':
|
|
episode = '%(playlist_index)02d'
|
|
else:
|
|
try:
|
|
dl_ops['playliststart'] = int(episode)
|
|
except ValueError:
|
|
# Handle the error, e.g., log it or set a default value
|
|
dl_ops['playliststart'] = 0 # or some appropriate default value
|
|
dl_ops = {'format': 'bestvideo+bestaudio/best', 'audio_quality': '256K', 'paths': {'temp': '/mnt/data/downloader/temp', 'home': directory},'cookiefile': 'cookies.txt','reject_title': ['Behind The Scenes', 'Trailer', 'Recap'], 'outtmpl': show + ' - S'+season+'E'+episode+' - %(title)s.%(ext)s'}
|
|
with yt_dlp.YoutubeDL(dl_ops) as ydl:
|
|
ydl.download(url)
|
|
|
|
# def ydl(self, url, location):
|
|
# dl_ops = {'paths': {'temp': '/mnt/data/downloader/temp', 'home': location}, 'outtmpl': '%(uploader)s/%(title)s.%(ext)s'}
|
|
# if location == "/mnt/plex/music/podcast":
|
|
# dl_ops['format'] = 'bestaudio/best[ext=mp3]'
|
|
# dl_ops['postprocessors'] = [{
|
|
# 'key': 'FFmpegExtractAudio',
|
|
# 'preferredcodec': 'mp3',
|
|
# 'preferredquality': '192',
|
|
# }, {
|
|
# 'key': 'FFmpegMetadata',
|
|
# 'add_metadata': True,
|
|
# }]
|
|
# elif location == "/mnt/plex/music/asmr":
|
|
# dl_ops['format'] = 'bestaudio/best[ext=mp3]'
|
|
# dl_ops['postprocessors'] = [{
|
|
# 'key': 'FFmpegExtractAudio',
|
|
# 'preferredcodec': 'mp3',
|
|
# 'preferredquality': '192',
|
|
# }, {
|
|
# 'key': 'FFmpegMetadata',
|
|
# 'add_metadata': True,
|
|
# }]
|
|
# else:
|
|
# dl_ops['format'] = 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best'
|
|
|
|
# with yt_dlp.YoutubeDL(dl_ops) as ydl:
|
|
# ydl.download(url)
|