]> git.itanic.dy.fi Git - emerge-timer/blob - emerge-timer.py
a9d8233cf6e2631319e49ad5d07e97f2e8f728b9
[emerge-timer] / emerge-timer.py
1 #!/usr/bin/python
2
3
4 import sys, subprocess, datetime, os
5
6
7 PORTDIR = "/usr/portage/"
8 LOGFILE = "/var/log/emerge.log"
9
10 green_start = "\033[32m"
11 color_stop = "\033[m"
12
13 packages = []
14
15
16
17 def open_log():
18     """Attempt to open the LOGFILE."""
19
20     try:
21         f = open(LOGFILE, 'r')
22     except IOError as detail:
23         print detail
24         sys.exit(1)
25     finally:
26         return f
27
28
29
30 def search_log_for_package(package):
31
32     log = open_log()
33
34     for line in log:
35         if ((">>>" in line) and ("emerge" in line)):
36             if package in line:
37                 time_string = line.partition(">>>")
38                 start_time = float(time_string[0].strip().strip(':'))
39
40         elif ((":::" in line) and ("completed emerge" in line)):
41             if package in line:
42                 time_string = line.partition(":::")
43                 stop_time = float(time_string[0].strip().strip(':'))
44
45                 emerge_time = stop_time - start_time
46
47 #                date = 0 # get date
48
49                 print line
50                 packages.append((package, emerge_time))
51
52 def main(status, package=None):
53
54     if status == "package":
55         search_log_for_package(package)
56         print packages
57         pass
58
59     elif status == "current":
60         pass
61
62     elif status == "pretended":
63         pass
64
65
66
67
68 if __name__ == "__main__":
69
70     if len(sys.argv) == 1:
71         main("current")
72         sys.exit(1)
73
74     elif sys.argv[1] == "-p":
75         main("pretended")
76         sys.exit(1)
77
78     elif len(sys.argv) > 1:
79         main("package", sys.argv[1])
80