You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
27 lines
587 B
Python
27 lines
587 B
Python
import yt_dlp
|
|
from config import yt_dlp_opts
|
|
|
|
|
|
def search_youtube(query, opts = yt_dlp_opts):
|
|
with yt_dlp.YoutubeDL(opts) as ydl:
|
|
info = ydl.extract_info(query, download=False)
|
|
return info['entries']
|
|
|
|
|
|
def download_audio(url, base_path, opts = yt_dlp_opts):
|
|
|
|
opts['outtmpl'] = f'{base_path}/audios/%(title)s.%(ext)s'
|
|
if not isinstance(url, list):
|
|
url = [url]
|
|
|
|
success = False
|
|
|
|
try:
|
|
with yt_dlp.YoutubeDL(opts) as ydl:
|
|
ydl.download(url)
|
|
success = True
|
|
except:
|
|
success = False
|
|
return success
|
|
|
|
|