Просмотр исходного кода

change algo for computing estimated time left till task completes

Rafał Pitoń 8 лет назад
Родитель
Сommit
7ac11e422e
1 измененных файлов с 4 добавлено и 2 удалено
  1. 4 2
      misago/core/management/progressbar.py

+ 4 - 2
misago/core/management/progressbar.py

@@ -10,8 +10,10 @@ def show_progress(command, step, total, since=None):
     rendered_line = line % (str(progress).rjust(3), '=' * filled, ' ' * blank)
 
     if since:
-        if step > 0:
-            estimated_time = ((time.time() - since) // step) * (total - step)
+        progress_float = float(step) * 100.0 / float(total)
+        if progress_float > 0:
+            step_time = (time.time() - since) / progress_float
+            estimated_time = (100 - progress) * step_time
             clock = time.strftime('%H:%M:%S', time.gmtime(estimated_time))
             rendered_line = '%s %s est.' % (rendered_line, clock)
         else: