commit 0ff2c1ecb67b61e1410e1d0fe1966a7680e18947
parent 16132cff7231d591bc4e6e3a12c02f9110d54e11
Author: Sergey M․ <dstftw@gmail.com>
Date:   Sat, 24 Mar 2018 15:59:48 +0700

[downloader/fragment] Fix download finalization when writing file to stdout (closes #15799)

Diffstat:
Myoutube_dl/downloader/fragment.py | 12++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/youtube_dl/downloader/fragment.py b/youtube_dl/downloader/fragment.py @@ -241,12 +241,16 @@ class FragmentFD(FileDownloader): if os.path.isfile(ytdl_filename): os.remove(ytdl_filename) elapsed = time.time() - ctx['started'] - self.try_rename(ctx['tmpfilename'], ctx['filename']) - fsize = os.path.getsize(encodeFilename(ctx['filename'])) + + if ctx['tmpfilename'] == '-': + downloaded_bytes = ctx['complete_frags_downloaded_bytes'] + else: + self.try_rename(ctx['tmpfilename'], ctx['filename']) + downloaded_bytes = os.path.getsize(encodeFilename(ctx['filename'])) self._hook_progress({ - 'downloaded_bytes': fsize, - 'total_bytes': fsize, + 'downloaded_bytes': downloaded_bytes, + 'total_bytes': downloaded_bytes, 'filename': ctx['filename'], 'status': 'finished', 'elapsed': elapsed,