|
|
@ -125,7 +125,7 @@ class ShahidIE(ShahidBaseIE):
|
|
|
|
'url': 'https://shahid.mbc.net/en/player/episodes/Maraya-season-1-episode-1/id-985363',
|
|
|
|
'url': 'https://shahid.mbc.net/en/player/episodes/Maraya-season-1-episode-1/id-985363',
|
|
|
|
'info_dict': {
|
|
|
|
'info_dict': {
|
|
|
|
'id': '985363',
|
|
|
|
'id': '985363',
|
|
|
|
'title': 'مرايا',
|
|
|
|
'title': 'مرايا S1E1',
|
|
|
|
'description': '',
|
|
|
|
'description': '',
|
|
|
|
'thumbnail': r're:^https?://.*\.jpg$',
|
|
|
|
'thumbnail': r're:^https?://.*\.jpg$',
|
|
|
|
'duration': 3144,
|
|
|
|
'duration': 3144,
|
|
|
@ -145,7 +145,7 @@ class ShahidIE(ShahidBaseIE):
|
|
|
|
'url': 'https://shahid.mbc.net/ar/player/episodes/Bab-Al-Hara-season-3-episode-17/id-76878',
|
|
|
|
'url': 'https://shahid.mbc.net/ar/player/episodes/Bab-Al-Hara-season-3-episode-17/id-76878',
|
|
|
|
'info_dict': {
|
|
|
|
'info_dict': {
|
|
|
|
'id': '76878',
|
|
|
|
'id': '76878',
|
|
|
|
'title': 'باب الحارة',
|
|
|
|
'title': 'باب الحارة S3E17',
|
|
|
|
'description': '',
|
|
|
|
'description': '',
|
|
|
|
'thumbnail': r're:^https?://.*\.jpg$',
|
|
|
|
'thumbnail': r're:^https?://.*\.jpg$',
|
|
|
|
'duration': 2647,
|
|
|
|
'duration': 2647,
|
|
|
@ -172,19 +172,25 @@ class ShahidIE(ShahidBaseIE):
|
|
|
|
show = product.get('show', {})
|
|
|
|
show = product.get('show', {})
|
|
|
|
season = show.get('season', {})
|
|
|
|
season = show.get('season', {})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
title = product.get('title')
|
|
|
|
|
|
|
|
series = show.get('title')
|
|
|
|
|
|
|
|
season_number = season.get('seasonNumber')
|
|
|
|
|
|
|
|
episode_number = product.get('number')
|
|
|
|
|
|
|
|
if not title and series:
|
|
|
|
|
|
|
|
title = series + ' S' + str(season_number) + 'E' + str(episode_number)
|
|
|
|
return {
|
|
|
|
return {
|
|
|
|
'id': video_id,
|
|
|
|
'id': video_id,
|
|
|
|
'title': str_or_none(product.get('title') or show.get('title')),
|
|
|
|
'title': str_or_none(title),
|
|
|
|
'description': str_or_none(product.get('description')),
|
|
|
|
'description': str_or_none(product.get('description')),
|
|
|
|
'thumbnail': str_or_none(self.remove_params(product.get('thumbnailImage'))),
|
|
|
|
'thumbnail': str_or_none(self.remove_params(product.get('thumbnailImage'))),
|
|
|
|
'duration': int_or_none(product.get('duration')),
|
|
|
|
'duration': int_or_none(product.get('duration')),
|
|
|
|
'timestamp': parse_iso8601(product.get('createdDate')),
|
|
|
|
'timestamp': parse_iso8601(product.get('createdDate')),
|
|
|
|
'categories': [genre.get('title') for genre in product.get('genres', []) if genre.get('title')],
|
|
|
|
'categories': [genre.get('title') for genre in product.get('genres', []) if genre.get('title')],
|
|
|
|
'series': str_or_none(show.get('title')),
|
|
|
|
'series': str_or_none(series),
|
|
|
|
'season': int_or_none(season.get('seasonName')),
|
|
|
|
'season': int_or_none(season.get('seasonName')),
|
|
|
|
'season_number': int_or_none(season.get('seasonNumber')),
|
|
|
|
'season_number': int_or_none(season_number),
|
|
|
|
'season_id': str_or_none(season.get('id')),
|
|
|
|
'season_id': str_or_none(season.get('id')),
|
|
|
|
'episode_number': int_or_none(product.get('number')),
|
|
|
|
'episode_number': int_or_none(episode_number),
|
|
|
|
'episode_id': video_id,
|
|
|
|
'episode_id': video_id,
|
|
|
|
'formats': formats,
|
|
|
|
'formats': formats,
|
|
|
|
'subtitles': subtitles,
|
|
|
|
'subtitles': subtitles,
|
|
|
|