diff options
author | Sergey M․ <dstftw@gmail.com> | 2018-03-24 15:59:48 +0700 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2018-03-24 16:04:23 +0700 |
commit | 0ff2c1ecb67b61e1410e1d0fe1966a7680e18947 (patch) | |
tree | e4d66324275af9e4268eb0057b70a6c166f63d9d | |
parent | 16132cff7231d591bc4e6e3a12c02f9110d54e11 (diff) |
[downloader/fragment] Fix download finalization when writing file to stdout (closes #15799)
-rw-r--r-- | youtube_dl/downloader/fragment.py | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/youtube_dl/downloader/fragment.py b/youtube_dl/downloader/fragment.py index ea5e3a4b5..927c7e491 100644 --- 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, |