From 0948f25c261d0f8b45e25340b7373083cb447344 Mon Sep 17 00:00:00 2001 From: Zil0 <30212477+Zil0@users.noreply.github.com> Date: Sun, 23 Jul 2017 22:52:49 +0200 Subject: [PATCH] Save transitional filenames if keepvideo is set --- youtube_dl/YoutubeDL.py | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/youtube_dl/YoutubeDL.py b/youtube_dl/YoutubeDL.py index 493491a1a..225ef741b 100755 --- a/youtube_dl/YoutubeDL.py +++ b/youtube_dl/YoutubeDL.py @@ -1984,20 +1984,26 @@ class YoutubeDL(object): if ie_info.get('__postprocessors') is not None: pps_chain.extend(ie_info['__postprocessors']) pps_chain.extend(self._pps) + filepaths = [] for pp in pps_chain: files_to_delete = [] try: files_to_delete, info = pp.run(info) - ie_info['_filename'] = info['filepath'] 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: - 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') + if files_to_delete: + if self.params.get('keepvideo'): + filepaths.extend(files_to_delete) + else: + for old_filename in files_to_delete: + 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') + if info.get('filepath'): + filepaths.append(info['filepath']) + ie_info['_filename'] = filepaths or filename def _make_archive_id(self, info_dict): # Future-proof against any change in case