Minor bugfixes

* `__real_download` should be false when ffmpeg unavailable and no download
* Mistakes in #70
* `allow_playlist_files` was not correctly pass through
This commit is contained in:
pukkandan 2021-02-12 10:10:31 +05:30
parent 63ad4d43eb
commit 1ea2412927
4 changed files with 8 additions and 5 deletions

View file

@ -2340,6 +2340,7 @@ def correct_ext(filename):
full_filename = correct_ext(full_filename)
temp_filename = correct_ext(temp_filename)
dl_filename = existing_file(full_filename, temp_filename)
info_dict['__real_download'] = False
if dl_filename is None:
for f in requested_formats:
new_info = dict(info_dict)
@ -2351,12 +2352,13 @@ def correct_ext(filename):
return
downloaded.append(fname)
partial_success, real_download = dl(fname, new_info)
info_dict['__real_download'] = info_dict['__real_download'] or real_download
success = success and partial_success
if merger.available and not self.params.get('allow_unplayable_formats'):
info_dict['__postprocessors'].append(merger)
info_dict['__files_to_merge'] = downloaded
# Even if there were no downloads, it is being merged only now
info_dict['__real_download'] = True
info_dict['__files_to_merge'] = downloaded
# Even if there were no downloads, it is being merged only now
info_dict['__real_download'] = True
else:
# Just a single file
dl_filename = existing_file(full_filename, temp_filename)

View file

@ -463,6 +463,7 @@ def report_conflict(arg1, arg2):
'writedescription': opts.writedescription,
'writeannotations': opts.writeannotations,
'writeinfojson': opts.writeinfojson or opts.getcomments,
'allow_playlist_files': opts.allow_playlist_files,
'getcomments': opts.getcomments,
'writethumbnail': opts.writethumbnail,
'write_all_thumbnails': opts.write_all_thumbnails,

View file

@ -482,7 +482,7 @@ def _parse_brightcove_metadata(self, json_data, video_id, headers={}):
if not self._downloader.params.get('allow_unplayable_formats') and (container == 'WVM' or source.get('key_systems')):
num_drm_sources += 1
continue
elif ext == 'ism' and self._downloader.params.get('allow_unplayable_formats'):
elif ext == 'ism' and not self._downloader.params.get('allow_unplayable_formats'):
continue
elif ext == 'm3u8' or container == 'M2TS':
if not src:

View file

@ -125,7 +125,7 @@ def _real_extract(self, url):
})
mpd_url = data.get('urlDash')
if (not self._downloader.params.get('allow_unplayable_formats') and not data.get('drm')) and mpd_url:
if mpd_url and (self._downloader.params.get('allow_unplayable_formats') or not data.get('drm')):
formats.extend(self._extract_mpd_formats(
mpd_url, media_id, mpd_id='dash', fatal=False))