|
|
@ -6,6 +6,7 @@ from ..utils import (
|
|
|
|
ExtractorError,
|
|
|
|
ExtractorError,
|
|
|
|
int_or_none,
|
|
|
|
int_or_none,
|
|
|
|
js_to_json,
|
|
|
|
js_to_json,
|
|
|
|
|
|
|
|
strip_or_none,
|
|
|
|
traverse_obj,
|
|
|
|
traverse_obj,
|
|
|
|
url_or_none,
|
|
|
|
url_or_none,
|
|
|
|
urlencode_postdata,
|
|
|
|
urlencode_postdata,
|
|
|
@ -132,12 +133,12 @@ class TubiTvIE(InfoExtractor):
|
|
|
|
|
|
|
|
|
|
|
|
return {
|
|
|
|
return {
|
|
|
|
'id': video_id,
|
|
|
|
'id': video_id,
|
|
|
|
'title': title,
|
|
|
|
'title': strip_or_none(title),
|
|
|
|
'formats': formats,
|
|
|
|
'formats': formats,
|
|
|
|
'subtitles': subtitles,
|
|
|
|
'subtitles': subtitles,
|
|
|
|
'season_number': int_or_none(season_number),
|
|
|
|
'season_number': int_or_none(season_number),
|
|
|
|
'episode_number': int_or_none(episode_number),
|
|
|
|
'episode_number': int_or_none(episode_number),
|
|
|
|
'episode': episode_title,
|
|
|
|
'episode': strip_or_none(episode_title),
|
|
|
|
**traverse_obj(video_data, {
|
|
|
|
**traverse_obj(video_data, {
|
|
|
|
'description': ('description', {str}),
|
|
|
|
'description': ('description', {str}),
|
|
|
|
'duration': ('duration', {int_or_none}),
|
|
|
|
'duration': ('duration', {int_or_none}),
|
|
|
|