]> git.itanic.dy.fi Git - emerge-timer/commitdiff
Improve class functionality
authorEsko Kokkonen <esko.kokkonen@gmail.com>
Thu, 25 Aug 2011 16:52:43 +0000 (19:52 +0300)
committerEsko Kokkonen <esko.kokkonen@gmail.com>
Thu, 25 Aug 2011 16:52:43 +0000 (19:52 +0300)
emerge-timer.py

index 6982f86ab553991032135bb58958cb5408fd2fe2..998de5f65b35fe30e8704a4dedc97e93babf4386 100755 (executable)
@@ -14,15 +14,24 @@ packages = []
 
 
 class package:
 
 
 class package:
-    def __init__(self, name, version='', emerge_time='', emerge_date=''):
+    def __init__(self, name):
         self.name = name
         self.name = name
-        self.version = version
-        self.emerge_time = emerge_time
-        self.emerge_date = emerge_date
 
 
+        self.versions = []
 
 
-    def time(self):
-        time = self.emerge_time
+    def add_version(self, version, emerge_time, emerge_date):
+
+        self.versions.append((version, emerge_time, emerge_date))
+
+
+    def print_versions(self):
+        for p in self.versions:
+            print("\t" + self.name + p[0] + "  >>>  " +
+                  self.time(p[1]) + "  >>>  " +
+                  green_start + self.date(p[2]) + color_stop)
+
+
+    def time(self, time):
 
         days = time/(3600*24)
         hours = (days - int(days))*24
 
         days = time/(3600*24)
         hours = (days - int(days))*24
@@ -60,8 +69,9 @@ class package:
 
         return (pdays + phours + pminutes + pdays)
 
 
         return (pdays + phours + pminutes + pdays)
 
-    def date(self):
-        date = datetime.datetime.fromtimestamp(self.emerge_date)
+
+    def date(self, emerge_date):
+        date = datetime.datetime.fromtimestamp(emerge_date)
 
         year = str(date.year)
         month = str(date.month)
 
         year = str(date.year)
         month = str(date.month)
@@ -93,6 +103,8 @@ def search_log_for_package(user_package):
 
     log = open_log()
 
 
     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:
     for line in log:
         if ((">>>" in line) and ("emerge" in line)):
             if user_package in line:
@@ -108,14 +120,14 @@ def search_log_for_package(user_package):
 
                 emerge_time = stop_time - start_time
 
 
                 emerge_time = stop_time - start_time
 
+                packages[0].add_version(version, emerge_time, start_time)
 
 
-                packages.append(package(user_package, version, emerge_time, start_time))
 
 
 def print_stuff():
     for p in packages:
 
 
 def print_stuff():
     for p in packages:
-        print(green_start + p.name + p.version + color_stop + "  >>>  " + p.time()
-              + "  >>>  " + p.date())
+        p.print_versions()
+
 
 
 def main(status, user_package=None):
 
 
 def main(status, user_package=None):