- for file_el in xml_playlist_et.findall('files/file'):\r
- try:\r
- height = int(file_el.attrib['id'].replace('p', ''))\r
- except ValueError:\r
- height = 0\r
- formats.append({'height': height,\r
- 'url': self.media_src_url + file_el.attrib['path'].replace( # noqa\r
- 'dat/', '', 1)})\r
+ for format_url in try_get(bitrates, lambda x: x['mp4'], list) or []:\r
+ if isinstance(format_url, compat_str):\r
+ height = self._search_regex(\r
+ r'(\d+)[pP]\.', format_url, 'height', default=None)\r
+ formats.append({\r
+ 'url': format_url,\r
+ 'format_id': '%sp' % height if height else None,\r
+ 'height': int(height),\r
+ })\r
+ if not formats:\r
+ playlist = self._download_xml(\r
+ 'https://media.joj.sk/services/Video.php?clip=%s' % video_id,\r
+ video_id)\r
+ for file_el in playlist.findall('./files/file'):\r
+ path = file_el.get('path')\r
+ if not path:\r
+ continue\r
+ format_id = file_el.get('id') or file_el.get('label')\r
+ formats.append({\r
+ 'url': 'http://n16.joj.sk/storage/%s' % path.replace(\r
+ 'dat/', '', 1),\r
+ 'format_id': format_id,\r
+ 'height': int_or_none(self._search_regex(\r
+ r'(\d+)[pP]', format_id or path, 'height',\r
+ default=None)),\r
+ })\r