Gpodder não está baixando as legendas do TED Talks

0

Estou tentando baixar o TED Talks com legendas no Gpodder sem sucesso.

Eu uso o Ubuntu 14.04 e o gpodder 3.5.2. Fiz assinaturas de teste em palestras TED HD ( link ) e palestras regulares ( link ). Funciona bem para o vídeo, mas sem baixar legendas.

Em ferramentas-Preferences-Extensions, o downloader de legendas do TED Talks está ativo.

Como posso fazer isso funcionar?

    
por user254309 08.05.2014 / 13:20

1 resposta

0

Parece que o TED Talks subtitles downloader está atualmente quebrado, aqui o que eu recebo no terminal:

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

Mas é o Python e pode ser facilmente corrigido!

Como eu vejo, o formato da página de descrição do TED mudou.

Para corrigir:

  • substitua 'introDuration%22%3A' por 'introDuration":' e
  • substitua '%2C' por ','

em /usr/share/gpodder/extensions/ted_subtitles.py .

Ou seja. a partir da linha 89 este código:

    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

deve se tornar:

    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

Depois disso, as legendas devem ser baixadas no mesmo diretório com o vídeo baixado (abaixo do mesmo que o vídeo com a extensão .srt ).

Testado no Ubuntu 14.04 com gPodder 3.5.2.

EDIT: Eu fiz o pull request para gPodder com correção: link

    
por Vladimir Rutsky 08.05.2014 / 22:21