From 021ccc8affed3b406cbb7395601a3621864dd3f2 Mon Sep 17 00:00:00 2001 From: Alexander Seiler Date: Tue, 11 Sep 2018 16:40:27 +0200 Subject: [PATCH 1/3] [zattoo] Fix video information extraction (closes #17175) --- youtube_dl/extractor/zattoo.py | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/youtube_dl/extractor/zattoo.py b/youtube_dl/extractor/zattoo.py index fb167c198..b62713031 100644 --- a/youtube_dl/extractor/zattoo.py +++ b/youtube_dl/extractor/zattoo.py @@ -86,37 +86,37 @@ class ZattooBaseIE(InfoExtractor): return next( chan['cid'] for chan in channel_list if chan.get('cid') and ( - chan.get('display_alias') == channel_name or - chan.get('cid') == channel_name)) + chan.get('display_alias') == channel_name or chan.get('cid') == channel_name)) except StopIteration: raise ExtractorError('Could not extract channel id') def _extract_cid_and_video_info(self, video_id): data = self._download_json( - '%s/zapi/program/details' % self._HOST_URL, + '%s/zapi/v2/cached/program/power_details/%s' % ( + self._HOST_URL, self._power_guide_hash), video_id, 'Downloading video information', query={ - 'program_id': video_id, - 'complete': True + 'program_ids': video_id, + 'complete': True, }) - p = data['program'] + p = data['programs'][0] cid = p['cid'] info_dict = { 'id': video_id, - 'title': p.get('title') or p['episode_title'], - 'description': p.get('description'), - 'thumbnail': p.get('image_url'), + 'title': p.get('t') or p['et'], + 'description': p.get('d'), + 'thumbnail': p.get('i_url'), 'creator': p.get('channel_name'), - 'episode': p.get('episode_title'), - 'episode_number': int_or_none(p.get('episode_number')), - 'season_number': int_or_none(p.get('season_number')), + 'episode': p.get('et'), + 'episode_number': int_or_none(p.get('e_no')), + 'season_number': int_or_none(p.get('s_no')), 'release_year': int_or_none(p.get('year')), - 'categories': try_get(p, lambda x: x['categories'], list), + 'categories': try_get(p, lambda x: x['c'], list), + 'tags': try_get(p, lambda x: x['g'], list) } - return cid, info_dict def _extract_formats(self, cid, video_id, record_id=None, is_live=False): From 719a76760bedc6dd230db822c1d17915699fd5ad Mon Sep 17 00:00:00 2001 From: Sergey M Date: Sun, 23 Sep 2018 21:32:45 +0700 Subject: [PATCH 2/3] Update zattoo.py --- youtube_dl/extractor/zattoo.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/youtube_dl/extractor/zattoo.py b/youtube_dl/extractor/zattoo.py index b62713031..77931d2e8 100644 --- a/youtube_dl/extractor/zattoo.py +++ b/youtube_dl/extractor/zattoo.py @@ -86,7 +86,8 @@ class ZattooBaseIE(InfoExtractor): return next( chan['cid'] for chan in channel_list if chan.get('cid') and ( - chan.get('display_alias') == channel_name or chan.get('cid') == channel_name)) + chan.get('display_alias') == channel_name or + chan.get('cid') == channel_name)) except StopIteration: raise ExtractorError('Could not extract channel id') From e940d3ade67b355d843e971977e9de2ed01630a3 Mon Sep 17 00:00:00 2001 From: Sergey M Date: Sun, 23 Sep 2018 21:34:13 +0700 Subject: [PATCH 3/3] Update zattoo.py --- youtube_dl/extractor/zattoo.py | 1 + 1 file changed, 1 insertion(+) diff --git a/youtube_dl/extractor/zattoo.py b/youtube_dl/extractor/zattoo.py index 77931d2e8..9c9024799 100644 --- a/youtube_dl/extractor/zattoo.py +++ b/youtube_dl/extractor/zattoo.py @@ -118,6 +118,7 @@ class ZattooBaseIE(InfoExtractor): 'categories': try_get(p, lambda x: x['c'], list), 'tags': try_get(p, lambda x: x['g'], list) } + return cid, info_dict def _extract_formats(self, cid, video_id, record_id=None, is_live=False):