From 22dcfc24a765d354aa272506a631275e9991c272 Mon Sep 17 00:00:00 2001 From: Shawn Siefkas Date: Sun, 26 Aug 2012 13:52:04 -0500 Subject: [PATCH] Fixing the eta logic --- progress/__init__.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/progress/__init__.py b/progress/__init__.py index 885f75e..cf3319f 100644 --- a/progress/__init__.py +++ b/progress/__init__.py @@ -24,7 +24,6 @@ __version__ = '1.0.2' class Infinite(object): file = stderr - avg_window = 10 def __init__(self, *args, **kwargs): self.ctx = {} @@ -42,8 +41,7 @@ class Infinite(object): # Calculate moving average now = time() dt = now - self._ts - w = self.avg_window - self.avg = dt if self.avg else (dt + w * self.avg) / (w + 1) + self.avg = (dt + self.index * self.avg) / (self.index + 1) if self.avg else dt self._ts = now kv = [(key, val) for key, val in self.__dict__.items() @@ -88,8 +86,7 @@ class Progress(Infinite): now = time() if self.delta: dt = (now - self._ts) / self.delta - w = self.avg_window - self.avg = dt if self.avg else (dt + w * self.avg) / (w + 1) + self.avg = (dt + self.index * self.avg) / (self.index + 1) if self.avg else dt self.eta = int(ceil(self.avg * self.remaining)) self._ts = now