From 1b980b1faf9ac8b358843e6222d0e5dcb7aba07f Mon Sep 17 00:00:00 2001 From: Esko Kokkonen Date: Thu, 25 Aug 2011 12:53:41 +0300 Subject: [PATCH] more rewriting basic functionality added. is now usable. --- emerge-timer.py | 61 ++++++++++++++++++++++++++++++++++--------------- 1 file changed, 43 insertions(+), 18 deletions(-) diff --git a/emerge-timer.py b/emerge-timer.py index 4785767..6982f86 100755 --- a/emerge-timer.py +++ b/emerge-timer.py @@ -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": -- 2.45.0