'duration': 239,
'series': '"Perché dovrei guardarlo?" di Dario Moccia',
'season_id': '437',
- 'season_number': 1,
'episode': 'Ping Pong',
'episode_number': 1,
'episode_id': '3334',
def _extract_common_video_info(self, video_data):
return {
'thumbnail': video_data.get('thumbnail'),
- 'episode_number': int_or_none(video_data.get('number')),
'episode_id': str_or_none(video_data.get('id')),
}
return d
+ info = {}
+
+ def metadata_from_url(r_url):
+ if not info and r_url:
+ mobj = re.search(r'_(?:S(\d+))?Ep(\d+)', r_url)
+ if mobj:
+ info['episode_number'] = int(mobj.group(2))
+ season_number = mobj.group(1)
+ if season_number:
+ info['season_number'] = int(season_number)
+
for quality in ('_sd', ''):
embed_code = video_data.get('embed_info' + quality)
if not embed_code:
else:
formats.extend(self._extract_wowza_formats(
'http://sb.top-ix.org/videomg/_definst_/mp4:%s/playlist.m3u8' % embed_code, video_id))
+ metadata_from_url(embed_code)
+
self._sort_formats(formats)
- info = self._extract_common_video_info(video_data)
+ metadata_from_url(video_data.get('thumbnail'))
+ info.update(self._extract_common_video_info(video_data))
info.update({
'id': video_id,
'title': title,
'duration': int_or_none(video_data.get('length')),
'series': video_data.get('show_title'),
'season_id': season_id,
- 'season_number': video_data.get('season_number'),
'episode': title,
'view_count': int_or_none(video_data.get('views')),
'like_count': int_or_none(video_data.get('video_likes')),
entries = []
for season in (seasons or []):
- season_number = int_or_none(season.get('number'))
episodes = season.get('episodes') or []
for episode in episodes:
if episode.get('playable') is False:
'url': '/'.join([base_url, season_id, video_id]),
'title': episode.get('title'),
'description': episode.get('description'),
- 'season_number': season_number,
'season_id': season_id,
})
entries.append(info)