Невозможно показать индикатор прогресса в PyTube
Я пишу загрузчик видео на Python Django и использую PyTube. В PyTube есть дополнительная функция, которая позволяет показывать прогресс-бар. Я написал несколько строк из индикатора, но появляется ошибка:
TypeError: progress_function() missing 1 required positional argument: 'bytes_remaining'
Я уверен, что мой код еще не завершен, но я не могу понять, что нужно изменить, чтобы все работало.
Вот мой код: views.py
def converter(request):
download_begins = True
if request.method == 'POST':
link = request.POST['link']
video = YouTube(link)
format = request.POST['format']
uuid = shortuuid.ShortUUID().random(length=4)
if format == "3":
with OpenKey(HKEY_CURRENT_USER, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders') as key:
downloads = QueryValueEx(key, '{374DE290-123F-4565-9164-39C4925E467B}')[0]
yt = YouTube(link, on_progress_callback=progress_function)
audio_file = yt.streams.filter(only_audio=True).first().download(downloads)
base, ext = os.path.splitext(audio_file)
new_file = base + uuid + '.mp3'
os.rename(audio_file, new_file)
elif format == "4":
with OpenKey(HKEY_CURRENT_USER, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders') as key:
downloads = QueryValueEx(key, '{374DE290-123F-4565-9164-39C4925E467B}')[0]
yt = YouTube(link, on_progress_callback=progress_function)
ys = yt.streams.filter(res="1080p").first().download(downloads)
base, ext = os.path.splitext(ys)
new_file = base + uuid + '.mp4'
os.rename(ys, new_file)
context = {'format': format, 'begins': download_begins}
return render(request, 'home/videoconverter.html', context)
return render(request, 'home/videoconverter.html')
def percent(tem, total):
perc = (float(tem) / float(total)) * float(100)
return perc
def progress_function(stream, chunk, file_handle, bytes_remaining):
size = stream.filesize
p = 0
while p <= 100:
progress = p
str(p) + '%'
p = percent(bytes_remaining, size)
и еще один вопрос, как я могу получить прогресс-бар в шаблоне, я имею в виду в представлениях есть только алгорифм позади бара, но как я могу получить его в шаблоне.
Спасибо за ответы!