|
|
@ -251,26 +251,11 @@ class BBCCoUkIE(InfoExtractor): |
|
|
|
for connection in self._extract_connections(media): |
|
|
|
captions = self._download_xml(connection.get('href'), programme_id, 'Downloading captions') |
|
|
|
lang = captions.get('{http://www.w3.org/XML/1998/namespace}lang', 'en') |
|
|
|
ps = captions.findall('./{0}body/{0}div/{0}p'.format('{http://www.w3.org/2006/10/ttaf1}')) |
|
|
|
srt = '' |
|
|
|
|
|
|
|
def _extract_text(p): |
|
|
|
if p.text is not None: |
|
|
|
stripped_text = p.text.strip() |
|
|
|
if stripped_text: |
|
|
|
return stripped_text |
|
|
|
return ' '.join(span.text.strip() for span in p.findall('{http://www.w3.org/2006/10/ttaf1}span')) |
|
|
|
for pos, p in enumerate(ps): |
|
|
|
srt += '%s\r\n%s --> %s\r\n%s\r\n\r\n' % (str(pos), p.get('begin'), p.get('end'), _extract_text(p)) |
|
|
|
subtitles[lang] = [ |
|
|
|
{ |
|
|
|
'url': connection.get('href'), |
|
|
|
'ext': 'ttml', |
|
|
|
}, |
|
|
|
{ |
|
|
|
'data': srt, |
|
|
|
'ext': 'srt', |
|
|
|
}, |
|
|
|
] |
|
|
|
return subtitles |
|
|
|
|
|
|
|