Я звоню 'search /', когда кнопка нажимается через ajax call. Теперь мой вопрос: я хочу показать эти детали {"имя_файла": d ['имя_файла'], "процент": d ['_cent_str'], "скорость": d ['_ eta_str']} в индикатор выполнения при загрузке на веб-странице.
Как мне получить ответ json от video_progress_hook каждый раз, когда он вызывается параметром progress_hook в ydl_opts?
Я хочу получить ответ в javascriprt.
Пожалуйста, помогите.
def search(request):
file_name=""+str(uuid.uuid1()).split('-')[0]+".mp3"
query=request.GET.get("query")
ydl_opts = {
'format': 'bestaudio/best',
'postprocessors': [{'key': 'FFmpegExtractAudio',
'preferredcodec': 'mp3',
'preferredquality': '192'}],
'outtmpl': 'media/'+file_name,
'progress_hooks':[video_progress_hook],
'quiet': False,
}
ydl = youtube_dl.YoutubeDL(ydl_opts)
ydl.download([query])
args={'url_link':file_name}
return JsonResponse(args)
def video_progress_hook(d):
args={}
if d['status'] == 'downloading':
args={"file_name":d['filename'],"percentage":d['_percent_str'],"speed":d['_eta_str']}
return JsonResponse(args)