localhub/downloadScript.py
2025-03-09 11:51:39 -04:00

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)