aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilipp Hagemeister <phihag@phihag.de>2013-04-22 19:51:42 +0200
committerPhilipp Hagemeister <phihag@phihag.de>2013-04-22 19:51:56 +0200
commitc681a03918a8f67f25e3ae7cc4140b76d6a73578 (patch)
tree6378d3131a2720790709c15ddf9403b8eaed2524
parent74e3452b9e15cb377984a1bf4764f2228c150717 (diff)
downloadyoutube-dl-c681a03918a8f67f25e3ae7cc4140b76d6a73578.tar.xz
Fix --list-formats (Closes #799)
-rw-r--r--youtube_dl/FileDownloader.py2
-rwxr-xr-xyoutube_dl/InfoExtractors.py9
2 files changed, 5 insertions, 6 deletions
diff --git a/youtube_dl/FileDownloader.py b/youtube_dl/FileDownloader.py
index 9c0c42f8d..7139adf6b 100644
--- a/youtube_dl/FileDownloader.py
+++ b/youtube_dl/FileDownloader.py
@@ -458,6 +458,8 @@ class FileDownloader(object):
# Extract information from URL and process it
try:
ie_results = ie.extract(url)
+ if ie_results is None: # Finished already (backwards compatibility; listformats and friends should be moved here)
+ break
results = []
for ie_result in ie_results:
if not 'extractor' in ie_result:
diff --git a/youtube_dl/InfoExtractors.py b/youtube_dl/InfoExtractors.py
index 14a1d6523..ff1f07e9b 100755
--- a/youtube_dl/InfoExtractors.py
+++ b/youtube_dl/InfoExtractors.py
@@ -622,8 +622,7 @@ class YoutubeIE(InfoExtractor):
format_list = available_formats
existing_formats = [x for x in format_list if x in url_map]
if len(existing_formats) == 0:
- self._downloader.report_error(u'no known formats available for video')
- return
+ raise ExtractorError(u'no known formats available for video')
if self._downloader.params.get('listformats', None):
self._print_formats(existing_formats)
return
@@ -643,11 +642,9 @@ class YoutubeIE(InfoExtractor):
video_url_list = [(rf, url_map[rf])]
break
if video_url_list is None:
- self._downloader.report_error(u'requested format not available')
- return
+ raise ExtractorError(u'requested format not available')
else:
- self._downloader.report_error(u'no conn or url_encoded_fmt_stream_map information found in video info')
- return
+ raise ExtractorError(u'no conn or url_encoded_fmt_stream_map information found in video info')
results = []
for format_param, video_real_url in video_url_list: