Можно ли поставить условия для опции outtmpl в youtube-dl? - PullRequest
0 голосов
/ 23 декабря 2018

Я пишу скрипт на Python, который будет загружать все видео из текстового файла URL.Как я могу заставить программу использовать разные значения в опции outtmpl, в зависимости от атрибутов в каждом URL?

ydl_opts = {
'outtmpl': '%(uploader)s - %(title)s.%(ext)s',
}

По сути, для каждого URL в текстовом файле я хочу иметь следующую логику:

Если URL является списком воспроизведения, который имеет загрузчик:

ydl_opts['outtmpl'] = '%(playlist)s/%(uploader)s - %(title)s.%(ext)s'

Если URL является списком воспроизведения без загрузчика:

ydl_opts['outtmpl'] = '%(playlist)s/%(title)s.%(ext)s'

Если URL НЕ является списком воспроизведения, но имеет загрузчик:

ydl_opts['outtmpl'] = '%(uploader)s - %(title)s.%(ext)s'

Если URL НЕ является списком воспроизведенияи не имеет загрузчика:

ydl_opts['outtmpl'] = '%(title)s.%(ext)s'

(В настоящее время я решаю часть списка воспроизведения очень тупым способом: я предварительно обрабатываю список URL-адресов, проверяя, содержит ли какой-либо URL слово «список воспроизведения». Iдаже не знаю глупого способа решения части загрузчика.)

Существует ли обобщенный способ изменения опции outtmpl в зависимости от атрибутов URL?

1 Ответ

0 голосов
/ 22 января 2019

Я не вижу другого способа, кроме как сделать оператор if / else и добавить требуемый outtmpl в ydl_opts следующим образом:

outtmpl = { '%(title)s.%(ext)s' }
ydl_opts.update()

или просто отредактировать ydl_opts ['outtmpl'] какВы сделали в своем примере.

...