From: Esko Kokkonen Date: Tue, 29 Nov 2011 15:56:28 +0000 (+0200) Subject: Change how current emerge time is calculated a bit X-Git-Url: http://git.itanic.dy.fi/?p=emerge-timer;a=commitdiff_plain;h=8c290d226d5ff782cfb96310498c1cf72f5ff083 Change how current emerge time is calculated a bit Instead of having some ceiling value for the emerge time (like it was previously 12*3600 seconds) calculate current emerge time from each of the entries in the log and choose the smallet value. This should always be the last entry on the log and therefore the one that was started closest to the current time. In other words; the current emerge mode now works for all those countless packages that take days compile. --- diff --git a/emerge-timer.py b/emerge-timer.py index c85bc1a..d7f5655 100755 --- a/emerge-timer.py +++ b/emerge-timer.py @@ -22,7 +22,7 @@ class package: self.name = name self.version = version self.versions = [] - self.emerge_time = 12*3600 + self.emerge_time = 0 def add_version(self, version, emerge_time, emerge_date): @@ -373,15 +373,21 @@ def list_emerge_processes(): for line in f: if ((">>>" in line) and ("emerge" in line)): for p in PACKAGES: + difference = "infinity" + new_difference = 0 + if (p.name + '-' + p.version in line): time = float(line.partition(' ')[0].strip(":")) timestamp = datetime.datetime.fromtimestamp(time) - difference = (now - timestamp).total_seconds() + new_difference = (now - timestamp).total_seconds() + + if ((new_difference < difference) or + (difference == "infinity")): + difference = new_difference - if difference < p.emerge_time: - p.emerge_time = difference + p.emerge_time = difference return 0