X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=youtube_dl%2Fextractor%2Fskynewsarabia.py;h=fffc9aa2277e3a0f35d24c585eec5be1e59d5c17;hb=HEAD;hp=3499b8cd5dc2a90497acdfe8557015f699ae9e7f;hpb=0cc71785461d273294f2ab96d50854172ba29c04;p=youtube-dl diff --git a/youtube_dl/extractor/skynewsarabia.py b/youtube_dl/extractor/skynewsarabia.py index 3499b8cd5..fffc9aa22 100644 --- a/youtube_dl/extractor/skynewsarabia.py +++ b/youtube_dl/extractor/skynewsarabia.py @@ -9,7 +9,7 @@ from ..utils import ( ) -class SkyNewArabiaBaseIE(InfoExtractor): +class SkyNewsArabiaBaseIE(InfoExtractor): _IMAGE_BASE_URL = 'http://www.skynewsarabia.com/web/images' def _call_api(self, path, value): @@ -23,6 +23,7 @@ class SkyNewArabiaBaseIE(InfoExtractor): def _extract_video_info(self, video_data): video_id = compat_str(video_data['id']) + topic = video_data.get('topicTitle') return { '_type': 'url_transparent', 'url': 'limelight:media:%s' % self._get_limelight_media_id(video_data['videoUrl'][0]['url']), @@ -32,15 +33,15 @@ class SkyNewArabiaBaseIE(InfoExtractor): 'thumbnail': self._get_image_url(video_data['mediaAsset']['imageUrl']), 'timestamp': parse_iso8601(video_data.get('date')), 'duration': parse_duration(video_data.get('runTime')), - 'tags': video_data.get('tags'), - 'categories': [video_data.get('topicTitle')], + 'tags': video_data.get('tags', []), + 'categories': [topic] if topic else [], 'webpage_url': 'http://www.skynewsarabia.com/web/video/%s' % video_id, 'ie_key': 'LimelightMedia', } -class SkyNewsArabiaIE(SkyNewArabiaBaseIE): - _IE_NAME = 'skynewsarabia:video' +class SkyNewsArabiaIE(SkyNewsArabiaBaseIE): + IE_NAME = 'skynewsarabia:video' _VALID_URL = r'https?://(?:www\.)?skynewsarabia\.com/web/video/(?P[0-9]+)' _TEST = { 'url': 'http://www.skynewsarabia.com/web/video/794902/%D9%86%D8%B5%D9%81-%D9%85%D9%84%D9%8A%D9%88%D9%86-%D9%85%D8%B5%D8%A8%D8%A7%D8%AD-%D8%B4%D8%AC%D8%B1%D8%A9-%D9%83%D8%B1%D9%8A%D8%B3%D9%85%D8%A7%D8%B3', @@ -65,8 +66,8 @@ class SkyNewsArabiaIE(SkyNewArabiaBaseIE): return self._extract_video_info(video_data) -class SkyNewsArabiaArticleIE(SkyNewArabiaBaseIE): - _IE_NAME = 'skynewsarabia:video' +class SkyNewsArabiaArticleIE(SkyNewsArabiaBaseIE): + IE_NAME = 'skynewsarabia:article' _VALID_URL = r'https?://(?:www\.)?skynewsarabia\.com/web/article/(?P[0-9]+)' _TESTS = [{ 'url': 'http://www.skynewsarabia.com/web/article/794549/%D8%A7%D9%94%D8%AD%D8%AF%D8%A7%D8%AB-%D8%A7%D9%84%D8%B4%D8%B1%D9%82-%D8%A7%D9%84%D8%A7%D9%94%D9%88%D8%B3%D8%B7-%D8%AE%D8%B1%D9%8A%D8%B7%D8%A9-%D8%A7%D9%84%D8%A7%D9%94%D9%84%D8%B9%D8%A7%D8%A8-%D8%A7%D9%84%D8%B0%D9%83%D9%8A%D8%A9', @@ -98,6 +99,7 @@ class SkyNewsArabiaArticleIE(SkyNewArabiaBaseIE): article_data = self._call_api('article', article_id) media_asset = article_data['mediaAsset'] if media_asset['type'] == 'VIDEO': + topic = article_data.get('topicTitle') return { '_type': 'url_transparent', 'url': 'limelight:media:%s' % self._get_limelight_media_id(media_asset['videoUrl'][0]['url']), @@ -106,8 +108,8 @@ class SkyNewsArabiaArticleIE(SkyNewArabiaBaseIE): 'description': article_data.get('summary'), 'thumbnail': self._get_image_url(media_asset['imageUrl']), 'timestamp': parse_iso8601(article_data.get('date')), - 'tags': article_data.get('tags'), - 'categories': [article_data.get('topicTitle')], + 'tags': article_data.get('tags', []), + 'categories': [topic] if topic else [], 'webpage_url': url, 'ie_key': 'LimelightMedia', }