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