|
|
|
@ -76,14 +76,18 @@ class Channel9IE(InfoExtractor):
|
|
|
|
|
</div>)? # File size part may be missing
|
|
|
|
|
'''
|
|
|
|
|
# Extract known formats
|
|
|
|
|
formats = [{'url': x.group('url'),
|
|
|
|
|
'format_id': x.group('quality'),
|
|
|
|
|
'format_note': x.group('note'),
|
|
|
|
|
'format': '%s (%s)' % (x.group('quality'), x.group('note')),
|
|
|
|
|
'filesize': self._restore_bytes(x.group('filesize')), # File size is approximate
|
|
|
|
|
} for x in list(re.finditer(FORMAT_REGEX, html)) if x.group('quality') in self._known_formats]
|
|
|
|
|
# Sort according to known formats list
|
|
|
|
|
formats.sort(key=lambda fmt: self._known_formats.index(fmt['format_id']))
|
|
|
|
|
formats = [{
|
|
|
|
|
'url': x.group('url'),
|
|
|
|
|
'format_id': x.group('quality'),
|
|
|
|
|
'format_note': x.group('note'),
|
|
|
|
|
'format': u'%s (%s)' % (x.group('quality'), x.group('note')),
|
|
|
|
|
'filesize': self._restore_bytes(x.group('filesize')), # File size is approximate
|
|
|
|
|
'preference': self._known_formats.index(x.group('quality')),
|
|
|
|
|
'vcodec': 'none' if x.group('note') == 'Audio only' else None,
|
|
|
|
|
} for x in list(re.finditer(FORMAT_REGEX, html)) if x.group('quality') in self._known_formats]
|
|
|
|
|
|
|
|
|
|
self._sort_formats(formats)
|
|
|
|
|
|
|
|
|
|
return formats
|
|
|
|
|
|
|
|
|
|
def _extract_title(self, html):
|
|
|
|
|