Невозможно показать индикатор прогресса в 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)


и еще один вопрос, как я могу получить прогресс-бар в шаблоне, я имею в виду в представлениях есть только алгорифм позади бара, но как я могу получить его в шаблоне.

Спасибо за ответы!

Вернуться на верх