- def _extract_formats(self, query, audio_id, audio_type):
- audiourls = {}
- for quality in self._QUALITIES:
- audiourl = self._download_json(
- self._BASE_URL + '/getaudiourl', audio_id,
- fatal=True,
- query=dict(query, type=audio_type, quality=quality, format='iis'))
- if audiourl is None:
- continue
-
- # for some reason url can be empty, skip if so
- # also skip if url has already been seen (quality parameter is ignored?)
- url = audiourl.get('audioUrl')
- if url is None or url == "" or url in audiourls:
- continue
-
- audioformat = {'vcodec': 'none', 'url': url}
- # add codec and bitrate if known coding format
- codingformat = audiourl.get('codingFormat')
- if codingformat:
- audioformat.update(self._CODING_FORMATS.get(codingformat, {}))
-
- audiourls[url] = audioformat
-
- return audiourls.values()
-
- def _extract_audio(self, audio_type, url):