]> git.itanic.dy.fi Git - emerge-timer/commitdiff
more rewriting
authorEsko Kokkonen <esko.kokkonen@gmail.com>
Thu, 25 Aug 2011 09:53:41 +0000 (12:53 +0300)
committerEsko Kokkonen <esko.kokkonen@gmail.com>
Thu, 25 Aug 2011 09:53:41 +0000 (12:53 +0300)
basic functionality added. is now usable.

emerge-timer.py

index 4785767b4601e550ed3cc1dc575e43ec07b8e84b..6982f86ab553991032135bb58958cb5408fd2fe2 100755 (executable)
@@ -14,14 +14,14 @@ packages = []
 
 
 class package:
-    def __init__(self):
-        self.name = ""
-        self.version = ""
-        self.emerge_time = ""
-        self.emerge_date = ""
+    def __init__(self, name, version='', emerge_time='', emerge_date=''):
+        self.name = name
+        self.version = version
+        self.emerge_time = emerge_time
+        self.emerge_date = emerge_date
 
 
-    def printable_time(self):
+    def time(self):
         time = self.emerge_time
 
         days = time/(3600*24)
@@ -34,7 +34,10 @@ class package:
         minutes = int(minutes)
         seconds = int(round(seconds))
 
-        pdays, phours, pminutes, pseconds = str()
+        pdays = str()
+        phours = str()
+        pminutes = str()
+        pseconds = str()
 
         if days > 0:
             pdays = (green_start + str(days) + color_stop + " day")
@@ -51,12 +54,27 @@ class package:
             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"
 
         return (pdays + phours + pminutes + pdays)
-                     
+
+    def date(self):
+        date = datetime.datetime.fromtimestamp(self.emerge_date)
+
+        year = str(date.year)
+        month = str(date.month)
+        day = str(date.day)
+        hour = str(date.hour)
+        minute = str(date.minute)
+        second = str(date.second)
+
+        date = "{:%d.%m.%Y %H:%M:%S}".format(date)
+
+        return date
+
+
 
 def open_log():
     """Attempt to open the LOGFILE."""
@@ -71,33 +89,40 @@ def open_log():
 
 
 
-def search_log_for_package(package):
+def search_log_for_package(user_package):
 
     log = open_log()
 
     for line in log:
         if ((">>>" in line) and ("emerge" in line)):
-            if package in line:
+            if user_package in line:
+                version = line.partition(user_package)[2].partition(' ')[0]
+
                 time_string = line.partition(">>>")
                 start_time = float(time_string[0].strip().strip(':'))
 
         elif ((":::" in line) and ("completed emerge" in line)):
-            if package in line:
+            if user_package in line:
                 time_string = line.partition(":::")
                 stop_time = float(time_string[0].strip().strip(':'))
 
                 emerge_time = stop_time - start_time
 
-#                date = 0 # get date
 
-                print line
-                packages.append((package, emerge_time))
+                packages.append(package(user_package, version, emerge_time, start_time))
+
+
+def print_stuff():
+    for p in packages:
+        print(green_start + p.name + p.version + color_stop + "  >>>  " + p.time()
+              + "  >>>  " + p.date())
+
 
-def main(status, package=None):
+def main(status, user_package=None):
 
     if status == "package":
-        search_log_for_package(package)
-        print packages
+        search_log_for_package(user_package)
+        print_stuff()
 
 
     elif status == "current":