diff options
| -rw-r--r-- | youtube_dl/YoutubeDL.py | 14 | ||||
| -rw-r--r-- | youtube_dl/extractor/youtube.py | 21 | 
2 files changed, 12 insertions, 23 deletions
| diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py index a3a351ee6..44a272e7e 100644 --- a/youtube_dl/YoutubeDL.py +++ b/youtube_dl/YoutubeDL.py @@ -545,11 +545,15 @@ class YoutubeDL(object):                  thumb_filename = filename.rpartition('.')[0] + u'.' + thumb_format                  self.to_screen(u'[%s] %s: Downloading thumbnail ...' %                                 (info_dict['extractor'], info_dict['id'])) -                uf = compat_urllib_request.urlopen(info_dict['thumbnail']) -                with open(thumb_filename, 'wb') as thumbf: -                    shutil.copyfileobj(uf, thumbf) -                self.to_screen(u'[%s] %s: Writing thumbnail to: %s' % -                               (info_dict['extractor'], info_dict['id'], thumb_filename)) +                try: +                    uf = compat_urllib_request.urlopen(info_dict['thumbnail']) +                    with open(thumb_filename, 'wb') as thumbf: +                        shutil.copyfileobj(uf, thumbf) +                    self.to_screen(u'[%s] %s: Writing thumbnail to: %s' % +                        (info_dict['extractor'], info_dict['id'], thumb_filename)) +                except (compat_urllib_error.URLError, compat_http_client.HTTPException, socket.error) as err: +                    self.report_warning(u'Unable to download thumbnail "%s": %s' % +                        (info_dict['thumbnail'], compat_str(err)))          if not self.params.get('skip_download', False):              if self.params.get('nooverwrites', False) and os.path.exists(encodeFilename(filename)): diff --git a/youtube_dl/extractor/youtube.py b/youtube_dl/extractor/youtube.py index 89c41efe5..53f13b516 100644 --- a/youtube_dl/extractor/youtube.py +++ b/youtube_dl/extractor/youtube.py @@ -361,7 +361,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor, SubtitlesInfoExtractor):              u"info_dict": {                  u"upload_date": u"20120506",                  u"title": u"Icona Pop - I Love It (feat. Charli XCX) [OFFICIAL VIDEO]", -                u"description": u"md5:bdac09887d209a4ed54b8f76b2bdaa8b", +                u"description": u"md5:5b292926389560516e384ac437c0ec07",                  u"uploader": u"Icona Pop",                  u"uploader_id": u"IconaPop"              } @@ -378,21 +378,6 @@ class YoutubeIE(YoutubeBaseInfoExtractor, SubtitlesInfoExtractor):                  u"uploader_id": u"justintimberlakeVEVO"              }          }, -        { -            u'url': u'https://www.youtube.com/watch?v=TGi3HqYrWHE', -            u'file': u'TGi3HqYrWHE.mp4', -            u'note': u'm3u8 video', -            u'info_dict': { -                u'title': u'Triathlon - Men - London 2012 Olympic Games', -                u'description': u'- Men -  TR02 - Triathlon - 07 August 2012 - London 2012 Olympic Games', -                u'uploader': u'olympic', -                u'upload_date': u'20120807', -                u'uploader_id': u'olympic', -            }, -            u'params': { -                u'skip_download': True, -            }, -        },      ] @@ -1360,7 +1345,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor, SubtitlesInfoExtractor):              video_thumbnail = m_thumb.group(1)          elif 'thumbnail_url' not in video_info:              self._downloader.report_warning(u'unable to extract video thumbnail') -            video_thumbnail = '' +            video_thumbnail = None          else:   # don't panic if we can't find it              video_thumbnail = compat_urllib_parse.unquote_plus(video_info['thumbnail_url'][0]) @@ -1480,7 +1465,7 @@ class YoutubeIE(YoutubeBaseInfoExtractor, SubtitlesInfoExtractor):                  return          else: -            raise ExtractorError(u'no conn or url_encoded_fmt_stream_map information found in video info') +            raise ExtractorError(u'no conn, hlsvp or url_encoded_fmt_stream_map information found in video info')          results = []          for format_param, video_real_url in video_url_list: | 
