]> jfr.im git - yt-dlp.git/commitdiff
[downloader] Add average speed to final progress line
authorpukkandan <redacted>
Sat, 30 Jul 2022 22:50:02 +0000 (04:20 +0530)
committerpukkandan <redacted>
Sat, 30 Jul 2022 22:50:02 +0000 (04:20 +0530)
Fixes: https://github.com/ytdl-org/youtube-dl/issues/31122
yt_dlp/downloader/common.py

index f502253bf18a6341412c8a75cba5f6be3cdc72a8..e24d951b1624d49dbd81c1fbabeebe68a4b04f14 100644 (file)
@@ -335,7 +335,10 @@ def with_fields(*tups, default=''):
         if s['status'] == 'finished':
             if self.params.get('noprogress'):
                 self.to_screen('[download] Download completed')
+            speed = try_call(lambda: s['total_bytes'] / s['elapsed'])
             s.update({
+                'speed': speed,
+                '_speed_str': self.format_speed(speed).strip(),
                 '_total_bytes_str': format_bytes(s.get('total_bytes')),
                 '_elapsed_str': self.format_seconds(s.get('elapsed')),
                 '_percent_str': self.format_percent(100),
@@ -344,6 +347,7 @@ def with_fields(*tups, default=''):
                 '100%%',
                 with_fields(('total_bytes', 'of %(_total_bytes_str)s')),
                 with_fields(('elapsed', 'in %(_elapsed_str)s')),
+                with_fields(('speed', 'at %(_speed_str)s')),
                 delim=' '))
 
         if s['status'] != 'downloading':