|
|
|
@ -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
|
|
|
|
|
|
|
|
|
|