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

Другие вопросы по тегам