Как загрузить файл musi c в каталог пользователей на размещенном сайте? - PullRequest
0 голосов
/ 26 мая 2020

Я использую Python (Django) с библиотекой youtube_dl, чтобы пользователи могли загружать видео с YouTube в свой локальный каталог. Код отлично работает на локальном хосте (загружается в мой каталог), но когда я тестирую его в Heroku, ничего не происходит. В каталоге загрузки нет файлов. Пожалуйста помоги? Вот мой views.py.

def home_page_view(request):
    file = None
    video_url = ''
    if request.method == "POST":
        form = DownloadForm(request.POST)
        if form.is_valid():
            url = form.cleaned_data.get('link')
            music_download(url)
    else:
        form = DownloadForm()

    context = {
        'file': video_url,
        'form': form,
    }

    return render(request, 'audio_download/home.html', context)


class MyLogger(object):
    def debug(self, msg):
        pass

    def warning(self, msg):
        pass

    def error(self, msg):
        print(msg)


def my_hook(d):
    if d['status'] == 'finished':
        print('Done downloading, now converting ...')


def music_download(url):
    homedir = os.path.expanduser("~")
    ydl_opts = {
        'format': 'bestaudio/best',
        'outtmpl': homedir + '/Downloads/%(title)s-%(id)s.%(ext)s',
        'postprocessors': [{
            'key': 'FFmpegExtractAudio',
            'preferredcodec': 'mp3',
            'preferredquality': '192',
        }],
        'logger': MyLogger(),
        'progress_hooks': [my_hook],
    }
    with youtube_dl.YoutubeDL(ydl_opts) as ydl:
        ydl.download([url])
...