progress: Do not display the last 0B transfer when size is unknown.
* guix/progress.scm (display-download-progress): Don't display anything when both SIZE and TRANSFERRED are null.master
parent
0289dc1473
commit
d827fd31ca
|
@ -212,17 +212,20 @@ throughput."
|
|||
(current-terminal-columns))
|
||||
log-port)
|
||||
(force-output log-port))
|
||||
(let* ((throughput (/ transferred elapsed))
|
||||
(left (format #f " ~a" file))
|
||||
(right (format #f "~a/s ~a | ~a transferred"
|
||||
(byte-count->string throughput)
|
||||
(seconds->string elapsed)
|
||||
(byte-count->string transferred))))
|
||||
(erase-current-line log-port)
|
||||
(display (string-pad-middle left right
|
||||
(current-terminal-columns))
|
||||
log-port)
|
||||
(force-output log-port))))
|
||||
;; If we don't know the total size, the last transfer will have a 0B
|
||||
;; size. Don't display it.
|
||||
(unless (zero? transferred)
|
||||
(let* ((throughput (/ transferred elapsed))
|
||||
(left (format #f " ~a" file))
|
||||
(right (format #f "~a/s ~a | ~a transferred"
|
||||
(byte-count->string throughput)
|
||||
(seconds->string elapsed)
|
||||
(byte-count->string transferred))))
|
||||
(erase-current-line log-port)
|
||||
(display (string-pad-middle left right
|
||||
(current-terminal-columns))
|
||||
log-port)
|
||||
(force-output log-port)))))
|
||||
|
||||
(define %progress-interval
|
||||
;; Default interval between subsequent outputs for rate-limited displays.
|
||||
|
|
Reference in New Issue