- def _add_format(name, cfgurl, quality):
- config = self._download_json(
- cfgurl, video_id,
- 'Downloading ' + name + ' configuration',
- 'Unable to download ' + name + ' configuration',
- transform_source=lambda s: s.replace("'", '"'))
-
- playlist = config['playlist']
- formats.append({
- 'url': playlist[1]['url'],
- 'format_id': name,
- 'quality': quality,
- })
-
- _add_format('normal', configUrl, quality=0)
- hq_url = (configUrl +
- ('&hq=1' if '?' in configUrl else configUrl + '?hq=1'))
- try:
- _add_format('hq', hq_url, quality=1)
- except ExtractorError:
- pass # That's fine, we'll just use normal quality
-
- self._sort_formats(formats)