|
|
|
@ -1,7 +1,5 @@
|
|
|
|
|
from __future__ import unicode_literals
|
|
|
|
|
|
|
|
|
|
import re
|
|
|
|
|
|
|
|
|
|
from .common import InfoExtractor
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -20,11 +18,10 @@ class FirstpostIE(InfoExtractor):
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
def _real_extract(self, url):
|
|
|
|
|
mobj = re.match(self._VALID_URL, url)
|
|
|
|
|
video_id = mobj.group('id')
|
|
|
|
|
|
|
|
|
|
video_id = self._match_id(url)
|
|
|
|
|
page = self._download_webpage(url, video_id)
|
|
|
|
|
title = self._html_search_meta('twitter:title', page, 'title')
|
|
|
|
|
|
|
|
|
|
title = self._html_search_meta('twitter:title', page, 'title', fatal=True)
|
|
|
|
|
description = self._html_search_meta('twitter:description', page, 'title')
|
|
|
|
|
|
|
|
|
|
data = self._download_xml(
|
|
|
|
@ -42,6 +39,7 @@ class FirstpostIE(InfoExtractor):
|
|
|
|
|
'height': int(details.find('./height').text.strip()),
|
|
|
|
|
} for details in item.findall('./source/file_details') if details.find('./file').text
|
|
|
|
|
]
|
|
|
|
|
self._sort_formats(formats)
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
|
'id': video_id,
|
|
|
|
|