]> git.itanic.dy.fi Git - emerge-timer/commitdiff
Add min, max, average time printouts
authorEsko Kokkonen <esko.kokkonen@gmail.com>
Fri, 26 Aug 2011 10:39:12 +0000 (13:39 +0300)
committerEsko Kokkonen <esko.kokkonen@gmail.com>
Fri, 26 Aug 2011 10:39:12 +0000 (13:39 +0300)
emerge-timer.py

index 86db0660dde4df10a8bb506d17c647fe704445bc..1333c27a3673062c28cb667b0bf2a04fd5fd2fff 100755 (executable)
@@ -24,12 +24,44 @@ class package:
         self.versions.append((version, emerge_time, emerge_date))
 
 
+    def average_total_time(self):
+        total_time = 0
+        for i in self.versions:
+            total_time += i[1]
+
+        average_time = total_time/len(self.versions)
+
+        return (average_time, total_time)
+
+
+    def max_min_time(self):
+        self.versions.sort()
+
+        min_time = self.versions[0][1]
+        max_time = self.versions[len(self.versions)-1][1]
+
+        return (max_time, min_time)
+
+
     def print_versions(self):
         for p in self.versions:
-            print("\t" + self.name + p[0] + "  >>>  " +
+            print('-'*90 + "\n" +
+                  green_start + self.name + p[0] + color_stop + "  >>>  " +
                   self.time(p[1]) + "  >>>  " +
-                  green_start + self.date(p[2]) + color_stop)
+                  self.date(p[2]))
+        print('-'*90 + "\n" + "Package " + green_start + self.name + color_stop +
+              " emerged " + str(len(self.versions)) + " times.")
+
 
+    def print_min_max_ave(self):
+        max_min = self.max_min_time()
+        ave_total = self.average_total_time()
+
+        print("Max time: \t" + self.time(max_min[0]) +
+              "\nMin time: \t" + self.time(max_min[1]) +
+              "\nAverage time: \t" + self.time(ave_total[0]) +
+              "\nIn total spent " + self.time(ave_total[1]) +
+              " emerging " + self.name)
 
     def time(self, time):
 
@@ -49,21 +81,21 @@ class package:
         pseconds = str()
 
         if days > 0:
-            pdays = (green_start + str(days) + color_stop + " day")
+            pdays = (green_start + str(days) + color_stop + " day ")
             if days != 1:
                 pdays += "s"
 
         if hours > 0:
-            phours = (green_start + str(hours) + color_stop + " hour")
+            phours = (green_start + str(hours) + color_stop + " hour ")
             if hours != 1:
                 phours += "s"
 
         if minutes > 0:
-            pminutes = (green_start + str(minutes) + color_stop + " minute")
+            pminutes = (green_start + str(minutes) + color_stop + " minute ")
             if minutes != 1:
                 pminutes += "s"
 
-        pseconds = (green_start + str(seconds) + color_stop + " second")
+        pseconds = (green_start + str(seconds) + color_stop + " second ")
         if seconds != 1:
             pseconds += "s"
 
@@ -184,11 +216,13 @@ def main(status, user_package=None):
 
         search_log_for_package(user_package)
         packages[0].print_versions()
+        packages[0].print_min_max_ave()
 
 
     elif status == "current":
         pass
 
+
     elif status == "pretended":
         pass