aboutsummaryrefslogtreecommitdiff
path: root/youtube_dl/YoutubeDL.py
diff options
context:
space:
mode:
Diffstat (limited to 'youtube_dl/YoutubeDL.py')
-rwxr-xr-xyoutube_dl/YoutubeDL.py16
1 files changed, 8 insertions, 8 deletions
diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py
index 8dbad7cf8..dd2d8cb3c 100755
--- a/youtube_dl/YoutubeDL.py
+++ b/youtube_dl/YoutubeDL.py
@@ -627,15 +627,14 @@ class YoutubeDL(object):
info_dict.setdefault(key, value)
def extract_info(self, url, download=True, ie_key=None, extra_info={},
- process=True):
+ process=True, force_generic_extractor=False):
'''
Returns a list with a dictionary for each video we find.
If 'download', also downloads the videos.
extra_info is a dict containing the extra values to add to each result
'''
- if not ie_key and self._force_generic_extractor_required:
- self._force_generic_extractor_required = False
+ if not ie_key and force_generic_extractor:
ie_key = 'Generic'
if ie_key:
@@ -663,7 +662,7 @@ class YoutubeDL(object):
}
self.add_default_extra_info(ie_result, ie, url)
if process:
- return self.process_ie_result(ie_result, download, extra_info)
+ return self.process_ie_result(ie_result, download, extra_info, force_generic_extractor=False)
else:
return ie_result
except ExtractorError as de: # An error we somewhat expected
@@ -688,7 +687,7 @@ class YoutubeDL(object):
'extractor_key': ie.ie_key(),
})
- def process_ie_result(self, ie_result, download=True, extra_info={}):
+ def process_ie_result(self, ie_result, download=True, extra_info={}, force_generic_extractor=False):
"""
Take the result of the ie(may be modified) and resolve all unresolved
references (URLs, playlist items).
@@ -716,7 +715,8 @@ class YoutubeDL(object):
return self.extract_info(ie_result['url'],
download,
ie_key=ie_result.get('ie_key'),
- extra_info=extra_info)
+ extra_info=extra_info,
+ force_generic_extractor=force_generic_extractor)
elif result_type == 'url_transparent':
# Use the information from the embedding page
info = self.extract_info(
@@ -1503,9 +1503,9 @@ class YoutubeDL(object):
for url in url_list:
try:
- self._force_generic_extractor_required = self.params.get('force_generic_extractor', False)
# It also downloads the videos
- res = self.extract_info(url)
+ res = self.extract_info(
+ url, force_generic_extractor=self.params.get('force_generic_extractor', False))
except UnavailableVideoError:
self.report_error('unable to download video')
except MaxDownloadsReached: