]> git.itanic.dy.fi Git - emerge-timer/commitdiff
Create a function which takes seconds and prints human readable times
authorEsko Kokkonen <esko.kokkonen@gmail.com>
Sat, 11 Jun 2011 12:35:27 +0000 (15:35 +0300)
committerEsko Kokkonen <esko.kokkonen@gmail.com>
Sat, 11 Jun 2011 12:35:27 +0000 (15:35 +0300)
emerge-timer.py

index dc9f4ad27936705c4e3c57c04851b93f05009933..82d79fc5411ccdd1c77b9959172c62e2c930830f 100755 (executable)
@@ -30,6 +30,40 @@ def get_time(string, part):
     time = float(string[0].strip().strip(":"))
     return time
 
+def organize_times(time):
+    days = time/(3600*24)
+    hours = (days - int(days))*24
+    minutes = (hours - int(hours))*60
+    seconds = (minutes - int(minutes))*60
+
+    days = int(round(days))
+    hours = int(round(hours))
+    minutes = int(round(minutes))
+    seconds = int(round(seconds))
+
+    if days > 0:
+        print_days = (green_start + str(days) + green_stop + " day")
+        if days != 1:
+            print_days += "s"
+        print print_days,
+
+    if hours > 0:
+        print_hours = (green_start + str(hours) + green_stop + " hour")
+        if hours != 1:
+            print_hours += "s"
+        print print_hours,
+
+    if minutes > 0:
+        print_minutes = (green_start + str(minutes) + green_stop + " minute")
+        if minutes != 1:
+            print_minutes += "s"
+        print print_minutes,
+
+    printable_sec = (green_start + str(seconds) + green_stop + " second")
+    if seconds != 1:
+        printable_sec += "s"
+    print printable_sec,
+
 
 def date_printer(package, time1, time2):
     global emerge_time
@@ -39,12 +73,12 @@ def date_printer(package, time1, time2):
     date = (str(date.day) + "/" + str(date.month)
             + "/" + str(date.year))
 
-    print("Started emerging " + green_start + package + green_stop + 
+    print("Started emerging " + green_start + package + green_stop +
           " at " + date)
 
-    print("merge time: " + green_start + str(int(round(emerge_time/60))) + 
-          green_stop + " minutes " + green_start + str(int(round(emerge_time%60))) +
-          green_stop + " seconds \n")
+    print "merge time",
+    organize_times(emerge_time)
+    print "\n"
 
     return date
 
@@ -66,34 +100,33 @@ def print_times(times):
     times.reverse()
 
     print(green_start + package + green_stop + " emerged " + green_start +
-          str(emerge_number) + green_stop + " time(s)")
+          str(emerge_number) + green_stop + " time(s)\n")
 
     if emerge_number == 1:
-        print "Emerge time", int(round(times[0][0]/60)), "min", int(times[0][0]%60),
-        print "s", "at", str(times[0][1])
+        print "merge time",
+        organize_times(times[0][0])
 
     else:
-        print("Max time " + green_start + str(int(round(times[0][0]/60))) +
-              green_stop + " min " + green_start + str(int(times[0][0]%60)) + green_stop +
-              " s at " + str(times[0][1]))
-        print("Min time " + green_start + str(int(round(times[len(times)-1][0]/60))) +
-              green_stop + " min " + green_start + str(int(times[len(times)-1][0]%60)) + green_stop +
-              " s at " + str(times[len(times)-1][1]))
-        
+        print "Max time:",
+        organize_times(times[0][0])
+        print
+
+        print "Min time:",
+        organize_times(times[len(times)-1][0])
+        print
+
         all_times = 0
         for i in times:
             all_times += i[0]
 
-        print "Average time", int(round(all_times/len(times)/60)), "min",
-        print int(all_times/len(times)%60), "s"
-
-        total_hours = all_times/(60*60)
-        total_minutes = (all_times/(60*60) - int(total_hours))*60
-        total_seconds = (total_minutes - int(total_minutes))*60
-        print "In total spent", int(round(total_hours)), "h",
-        print int(round(total_minutes)), "min", int(round(total_seconds)),
-        print "s emerging", package
+        print "Average time",
+        organize_times(all_times/len(times))
+        print
 
+        print "In total spent",
+        organize_times(all_times)
+        print("emerging " + green_start +
+              package + green_stop)
 
 get_package(package_name)