|
|
@ -38,7 +38,7 @@ class FileDownloader(object):
|
|
|
|
For this, file downloader objects have a method that allows
|
|
|
|
For this, file downloader objects have a method that allows
|
|
|
|
InfoExtractors to be registered in a given order. When it is passed
|
|
|
|
InfoExtractors to be registered in a given order. When it is passed
|
|
|
|
a URL, the file downloader handles it to the first InfoExtractor it
|
|
|
|
a URL, the file downloader handles it to the first InfoExtractor it
|
|
|
|
finds that reports it's able to handle it. The InfoExtractor returns
|
|
|
|
finds that reports being able to handle it. The InfoExtractor returns
|
|
|
|
all the information to the FileDownloader and the latter downloads the
|
|
|
|
all the information to the FileDownloader and the latter downloads the
|
|
|
|
file or does whatever it's instructed to do.
|
|
|
|
file or does whatever it's instructed to do.
|
|
|
|
|
|
|
|
|
|
|
@ -153,9 +153,12 @@ class FileDownloader(object):
|
|
|
|
continue
|
|
|
|
continue
|
|
|
|
# Suitable InfoExtractor found
|
|
|
|
# Suitable InfoExtractor found
|
|
|
|
suitable_found = True
|
|
|
|
suitable_found = True
|
|
|
|
for result in ie.extract(url):
|
|
|
|
results = [x for x in ie.extract(url) if x is not None]
|
|
|
|
if result is None:
|
|
|
|
|
|
|
|
continue
|
|
|
|
if (len(url_list) > 1 or len(results) > 1) and re.search(r'%\(.+?\)s', self._params['outtmpl']) is None:
|
|
|
|
|
|
|
|
sys.exit('ERROR: fixed output name but more than one file to download')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
for result in results:
|
|
|
|
try:
|
|
|
|
try:
|
|
|
|
filename = self._params['outtmpl'] % result
|
|
|
|
filename = self._params['outtmpl'] % result
|
|
|
|
except (KeyError), err:
|
|
|
|
except (KeyError), err:
|
|
|
|