]> git.itanic.dy.fi Git - emerge-timer/commitdiff
First implementation of the pretended packages feature
authorEsko Kokkonen <esko.kokkonen@gmail.com>
Mon, 29 Aug 2011 10:02:22 +0000 (13:02 +0300)
committerEsko Kokkonen <esko.kokkonen@gmail.com>
Mon, 29 Aug 2011 10:02:22 +0000 (13:02 +0300)
emerge-timer.py

index 40e73cb32f8d618044f04ddcc0650b5a3737ae98..8807ff1e43babc03c093f4651b880e4694e8f44d 100755 (executable)
@@ -14,9 +14,9 @@ packages = []
 
 
 class package:
-    def __init__(self, name):
+    def __init__(self, name, version=0):
         self.name = name
-
+        self.version = version
         self.versions = []
 
     def add_version(self, version, emerge_time, emerge_date):
@@ -136,8 +136,6 @@ def search_log_for_package(user_package):
 
     log = open_log()
 
-    packages.insert(0, package(user_package))
-
     for line in log:
         if ((">>>" in line) and ("emerge" in line)):
             if user_package in line:
@@ -209,12 +207,29 @@ def get_package(name):
     sys.exit(1)
 
 
+def list_pretended():
+    log = open_log()
+
+    for line in sys.stdin:
+        if "[ebuild" in line:
+            full_name = line.partition("] ")[2].partition(' ')[0]
+
+            version = full_name.partition('/')[2].partition('-')[2]
+            while not version[0].isdigit():
+                version = version.partition('-')[2]
+            package_name = full_name[:-len(version)-1]
+
+            packages.insert(0, package(package_name, version))
+
+
 
 def main(status, user_package=None):
 
     if status == "package":
         user_package = get_package(user_package)
 
+        packages.insert(0, package(user_package))
+
         search_log_for_package(user_package)
         packages[0].print_versions()
         packages[0].print_min_max_ave()
@@ -225,7 +240,7 @@ def main(status, user_package=None):
 
 
     elif status == "pretended":
-        pass
+        list_pretended()