From 39af4a84b0d92579f6f530f4f217b18b9af6e360 Mon Sep 17 00:00:00 2001 From: 3risian <59593325+3risian@users.noreply.github.com> Date: Thu, 9 Jan 2020 13:40:54 +1100 Subject: [PATCH] [PeerTube] Improve safety of description extraction --- youtube_dl/extractor/peertube.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/youtube_dl/extractor/peertube.py b/youtube_dl/extractor/peertube.py index fee5e13de..9bb9e88e2 100644 --- a/youtube_dl/extractor/peertube.py +++ b/youtube_dl/extractor/peertube.py @@ -516,9 +516,6 @@ class PeerTubeIE(InfoExtractor): title = video.get('name') - video_description = self._download_json( - 'https://%s/api/v1/videos/%s/description' % (host, video_id), video_id, fatal=False) - formats = [] for file_ in video.get('files'): if not isinstance(file_, dict): @@ -538,6 +535,13 @@ class PeerTubeIE(InfoExtractor): formats.append(f) self._sort_formats(formats) + video_description = self._download_json( + 'https://%s/api/v1/videos/%s/description' % (host, video_id), video_id, fatal=False) + + description = "" + if video_description: + description = video_description.get('description') + subtitles = self.extract_subtitles(host, video_id) def account_data(field): @@ -558,7 +562,7 @@ class PeerTubeIE(InfoExtractor): return { 'id': video_id, 'title': title, - 'description': video_description.get('description'), + 'description': description, 'thumbnail': urljoin(url, video.get('thumbnailPath')), 'timestamp': unified_timestamp(video.get('publishedAt')), 'uploader': account_data('displayName'),