Don't attempt to calculate percentage if total is not set

Prevents a FloatDomainError if the total is zero or not known. Fixes #788.
This commit is contained in:
Daniel Simmons 2012-03-09 11:10:30 +00:00
parent f8fa859b5f
commit 38212969c6
1 changed files with 7 additions and 3 deletions

View File

@ -78,9 +78,13 @@ module Vagrant
# to the UI. Send `clear_line` to clear the line to show
# a continuous progress meter.
def report_progress(progress, total, show_parts=true)
percent = (progress.to_f / total.to_f) * 100
line = "Progress: #{percent.to_i}%"
line << " (#{progress} / #{total})" if show_parts
if total and not total == 0
percent = (progress.to_f / total.to_f) * 100
line = "Progress: #{percent.to_i}%"
line << " (#{progress} / #{total})" if show_parts
else
line = "Progress: #{progress}"
end
info(line, :new_line => false)
end