Add metadata to every non-deleted file.

This commit is contained in:
NextLight 2016-06-09 01:43:13 +02:00
parent 05de552d57
commit 9c82b42c80
2 changed files with 17 additions and 4 deletions

View File

@ -91,6 +91,7 @@ from .postprocessor import (
FFmpegFixupM4aPP,
FFmpegFixupStretchedPP,
FFmpegMergerPP,
FFmpegMetadataPP,
FFmpegPostProcessor,
get_postprocessor,
)
@ -1782,13 +1783,26 @@ class YoutubeDL(object):
files_to_delete, info = pp.run(info)
except PostProcessingError as e:
self.report_error(e.msg)
if files_to_delete and not self.params.get('keepvideo', False):
for old_filename in files_to_delete:
for old_filename in files_to_delete:
if not self.params.get('keepvideo', False):
self.to_screen('Deleting original file %s (pass -k to keep)' % old_filename)
try:
os.remove(encodeFilename(old_filename))
except (IOError, OSError):
self.report_warning('Unable to remove downloaded original file')
elif self.params.get('addmetadata', False):
filepath = info['filepath']
ext = info['ext']
info['filepath'] = old_filename
info['ext'] = old_filename[old_filename.rfind('.') + 1:]
try:
FFmpegMetadataPP(self).run(info)
except PostProcessingError as e:
self.report_error(e.msg)
finally:
info['filepath'] = filepath
info['ext'] = ext
def _make_archive_id(self, info_dict):
# Future-proof against any change in case

View File

@ -222,8 +222,6 @@ def _real_main(argv=None):
'titleformat': opts.metafromtitle
})
if opts.extractaudio:
if opts.addmetadata and opts.keepvideo:
postprocessors.append({'key': 'FFmpegMetadata'})
postprocessors.append({
'key': 'FFmpegExtractAudio',
'preferredcodec': opts.audioformat,
@ -384,6 +382,7 @@ def _real_main(argv=None):
'external_downloader_args': external_downloader_args,
'postprocessor_args': postprocessor_args,
'cn_verification_proxy': opts.cn_verification_proxy,
'addmetadata': opts.addmetadata,
}
with YoutubeDL(ydl_opts) as ydl: