Add metadata to every non-deleted file.
This commit is contained in:
parent
05de552d57
commit
9c82b42c80
@ -91,6 +91,7 @@ from .postprocessor import (
|
|||||||
FFmpegFixupM4aPP,
|
FFmpegFixupM4aPP,
|
||||||
FFmpegFixupStretchedPP,
|
FFmpegFixupStretchedPP,
|
||||||
FFmpegMergerPP,
|
FFmpegMergerPP,
|
||||||
|
FFmpegMetadataPP,
|
||||||
FFmpegPostProcessor,
|
FFmpegPostProcessor,
|
||||||
get_postprocessor,
|
get_postprocessor,
|
||||||
)
|
)
|
||||||
@ -1782,13 +1783,26 @@ class YoutubeDL(object):
|
|||||||
files_to_delete, info = pp.run(info)
|
files_to_delete, info = pp.run(info)
|
||||||
except PostProcessingError as e:
|
except PostProcessingError as e:
|
||||||
self.report_error(e.msg)
|
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)
|
self.to_screen('Deleting original file %s (pass -k to keep)' % old_filename)
|
||||||
try:
|
try:
|
||||||
os.remove(encodeFilename(old_filename))
|
os.remove(encodeFilename(old_filename))
|
||||||
except (IOError, OSError):
|
except (IOError, OSError):
|
||||||
self.report_warning('Unable to remove downloaded original file')
|
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):
|
def _make_archive_id(self, info_dict):
|
||||||
# Future-proof against any change in case
|
# Future-proof against any change in case
|
||||||
|
@ -222,8 +222,6 @@ def _real_main(argv=None):
|
|||||||
'titleformat': opts.metafromtitle
|
'titleformat': opts.metafromtitle
|
||||||
})
|
})
|
||||||
if opts.extractaudio:
|
if opts.extractaudio:
|
||||||
if opts.addmetadata and opts.keepvideo:
|
|
||||||
postprocessors.append({'key': 'FFmpegMetadata'})
|
|
||||||
postprocessors.append({
|
postprocessors.append({
|
||||||
'key': 'FFmpegExtractAudio',
|
'key': 'FFmpegExtractAudio',
|
||||||
'preferredcodec': opts.audioformat,
|
'preferredcodec': opts.audioformat,
|
||||||
@ -384,6 +382,7 @@ def _real_main(argv=None):
|
|||||||
'external_downloader_args': external_downloader_args,
|
'external_downloader_args': external_downloader_args,
|
||||||
'postprocessor_args': postprocessor_args,
|
'postprocessor_args': postprocessor_args,
|
||||||
'cn_verification_proxy': opts.cn_verification_proxy,
|
'cn_verification_proxy': opts.cn_verification_proxy,
|
||||||
|
'addmetadata': opts.addmetadata,
|
||||||
}
|
}
|
||||||
|
|
||||||
with YoutubeDL(ydl_opts) as ydl:
|
with YoutubeDL(ydl_opts) as ydl:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user