From: Jaime Marquínez Ferrándiz Date: Tue, 3 Dec 2013 19:16:52 +0000 (+0100) Subject: Option '--load-info': if the download fails, try extracting the info with the 'webpag... X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=commitdiff_plain;h=d494389821de832874dc78abc2fe16365b5fe815;p=youtube-dl Option '--load-info': if the download fails, try extracting the info with the 'webpage_url' field of the info dict The video url may have expired. --- diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py index 80c056dc8..77339dddf 100644 --- a/youtube_dl/YoutubeDL.py +++ b/youtube_dl/YoutubeDL.py @@ -816,7 +816,16 @@ class YoutubeDL(object): with open(info_filename, 'r') as f: # TODO: Check for errors info = json.load(f) - self.process_ie_result(info, download=True) + try: + self.process_ie_result(info, download=True) + except DownloadError: + webpage_url = info.get('webpage_url') + if webpage_url is not None: + self.report_warning(u'The info failed to download, trying with "%s"' % webpage_url) + return self.download([webpage_url]) + else: + raise + return self._download_retcode def post_process(self, filename, ie_info): """Run all the postprocessors on the given file."""