]> git.itanic.dy.fi Git - emerge-timer/commitdiff
Add support for emerges pretended packages
authorEsko Kokkonen <esko.kokkonen@gmail.com>
Tue, 16 Aug 2011 16:35:49 +0000 (19:35 +0300)
committerEsko Kokkonen <esko.kokkonen@gmail.com>
Tue, 16 Aug 2011 16:35:49 +0000 (19:35 +0300)
By piping "emerge -p <packages>" to emerge-timer with the flag '-p'
you can now see their average emerge times.

emerge-timer.py

index 8d3d2b04b636a603ea403a42e798cc7d77f9a66e..1b5bb63e03436b97cae7a68a4d30119033d6b5e4 100755 (executable)
@@ -312,6 +312,28 @@ def print_current_emerges(f, packages):
 
 
 
+def list_pretended(f):
+    """Print the average times of pretended packages"""
+
+    all_packages = list_all_packages()
+
+    packages = []
+    for line in sys.stdin:
+        if "[ebuild" in line:
+            full_name = line.partition('] ')[2].partition(' ')[0]
+
+            for i in all_packages:
+                if i in full_name:
+                    packages.append((i, full_name[len(i):]))
+
+
+    print "This is how long these packages would take to emerge"
+
+    for pack in packages:
+        print('\t' + green_start + pack[0] + pack[1] + color_stop)
+        main_loop(f, pack[0], True)
+
+
 
 
 def main_loop(f, package, silent):
@@ -378,6 +400,9 @@ def main(status):
     if status == 'current':
         list_emerge_processes(f)
         return
+    elif status == 'pretended':
+        list_pretended(f)
+        return
     else:
         pass
 
@@ -397,11 +422,18 @@ def main(status):
 
 if __name__ == "__main__":
 
+    if len(sys.argv) == 1:
+        main('current')
+        sys.exit(1)
+
+    elif sys.argv[1] == "-p":
+        main('pretended')
+        sys.exit(1)
+
+
     if len(sys.argv) > 1:
         package_name = sys.argv[1]
         main(0)
-    else:
-        main('current')
-        sys.exit(1)
+
 
     write_times(times)