Gpodder не загружает субтитры TED Talks
Я пытаюсь загрузить TED Talks с субтитрами в Gpodder, но безуспешно.
Я использую Ubuntu 14.04 и gpodder 3.5.2. Я делал тестовые подписки на выступлениях TED HD ( http://feeds.feedburner.com/TedtalksHD/) и регулярных переговорах ( http://feeds.feedburner.com/tedtalks_video). Это хорошо работает для видео, но без загрузки субтитров.
В tools-Preferences-Extensions активен загрузчик субтитров TED Talks.
Как я могу заставить это работать?
1 ответ
Похоже, загрузчик субтитров TED Talks в данный момент не работает, вот что я получаю в терминале:
1399579128.331572 [gpodder.download] INFO: Download was redirected (http://video.ted.com/talk/podcast/2014/None/TEDMusical_2014-480p.mp4). New filename: TEDMusical_2014-480p.mp4
1399579128.336851 [ted_subtitles] INFO: subtitle url: http://www.ted.com/talks/subtitles/id/1962/lang/eng
1399579128.996226 [gpodder.gtkui.main] INFO: All tasks have finished.
1399579129.035496 [gpodder.gtkui.main] INFO: All tasks have finished.
1399579129.099886 [ted_subtitles] INFO: episode url: http://feedproxy.google.com/~r/TedtalksHD/~3/DKXNGZwfYwo/daffodil_hudson_is_this_the_cure_for_stage_fright
1399579130.692832 [gpodder.extensions] ERROR: Error in /usr/share/gpodder/extensions/ted_subtitles.py in on_episode_downloaded: list index out of range
Traceback (most recent call last):
File "/usr/lib/pymodules/python2.7/gpodder/extensions.py", line 83, in handler
cb_res = callback(*args, **kwargs)
File "/usr/share/gpodder/extensions/ted_subtitles.py", line 92, in on_episode_downloaded
intro = episode_data.split('introDuration%22%3A')[1] \
IndexError: list index out of range
Но это Python и его легко исправить!
Как я вижу, формат страницы описания TED изменился.
Починить это:
- замещать
'introDuration%22%3A'
с'introDuration":'
а также - замещать
'%2C'
с','
в /usr/share/gpodder/extensions/ted_subtitles.py
,
Т.е. начиная со строки 89 этот код:
INTRO_DEFAULT = 15
try:
# intro in the data could be 15 or 15.33
intro = episode_data.split('introDuration%22%3A')[1] \
.split('%2C')[0] or INTRO_DEFAULT
должно стать:
INTRO_DEFAULT = 15
try:
# intro in the data could be 15 or 15.33
intro = episode_data.split('introDuration":')[1] \
.split(',')[0] or INTRO_DEFAULT
После этого субтитры должны быть загружены в тот же каталог с загруженным видео (в том же виде, что и видео с, но с .srt
расширение).
Протестировано на Ubuntu 14.04 с gPodder 3.5.2.
РЕДАКТИРОВАТЬ: я сделал тянуть запрос к gPodder с исправлением: https://github.com/gpodder/gpodder/pull/121