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

This commit is contained in:
Sergey M․ 2018-03-24 15:59:48 +07:00
parent 16132cff72
commit 0ff2c1ecb6
No known key found for this signature in database
GPG Key ID: 2C393E0F18A9236D

View File

@ -241,12 +241,16 @@ def _finish_frag_download(self, ctx):
if os.path.isfile(ytdl_filename): if os.path.isfile(ytdl_filename):
os.remove(ytdl_filename) os.remove(ytdl_filename)
elapsed = time.time() - ctx['started'] elapsed = time.time() - ctx['started']
if ctx['tmpfilename'] == '-':
downloaded_bytes = ctx['complete_frags_downloaded_bytes']
else:
self.try_rename(ctx['tmpfilename'], ctx['filename']) self.try_rename(ctx['tmpfilename'], ctx['filename'])
fsize = os.path.getsize(encodeFilename(ctx['filename'])) downloaded_bytes = os.path.getsize(encodeFilename(ctx['filename']))
self._hook_progress({ self._hook_progress({
'downloaded_bytes': fsize, 'downloaded_bytes': downloaded_bytes,
'total_bytes': fsize, 'total_bytes': downloaded_bytes,
'filename': ctx['filename'], 'filename': ctx['filename'],
'status': 'finished', 'status': 'finished',
'elapsed': elapsed, 'elapsed': elapsed,