date = weekday + "{:%d.%m.%Y %H:%M:%S}".format(date)
- print(green_start + package + color_stop + " >>> " + date + " >>> "),
- organize_times(emerge_time)
- print("\n" + '-'*90)
-
return date
def get_package(name):
- global package
dirlist = os.listdir(PORTDIR)
possible_package = []
elif len(possible_package) == 1:
package = possible_package[0]
- return
+ return package
else:
print("No package '" + name + "' found")
sys.exit(1)
-def print_times(times):
+def print_times(package, times):
times.sort()
times.reverse()
return f
-def main(status):
- global emerge_number
-
- f = open_log()
-
- if status == 'current':
- packages = []
- for line in f:
- if ((">>>" in line) and ("emerge" in line)):
- part = line.partition(' ')
-
- time = float(part[0].strip(":"))
-
- # The logfile string is in form of
- # '1309638757: >>> emerge (1 of 1) x11-libs/cairo-1.10.2-r1 to /'
- # so the package is the sixth string pattern when partitioed
- # with whitespace
- for i in range(7):
- part = part[2].partition(' ')
+def current_emerges(f):
+ packages = []
+ for line in f:
+ if ((">>>" in line) and ("emerge" in line)):
+ part = line.partition(' ')
- packages.append((part[0], time))
+ time = float(part[0].strip(":"))
- for p in packages:
- if ((p[0] in line) and ('completed emerge' in line)):
- packages.remove(p)
+ # The logfile string is in form of
+ # '1309638757: >>> emerge (1 of 1) x11-libs/cairo-1.10.2-r1 to /'
+ # so the package is the sixth string pattern when partitioed
+ # with whitespace
+ for i in range(7):
+ part = part[2].partition(' ')
+ packages.append((part[0], time))
- a = 1
for p in packages:
- now = datetime.datetime.today()
- timestamp = datetime.datetime.fromtimestamp(p[1])
- difference = now - timestamp
-
- if difference.total_seconds() < 12*60*60:
- if a:
- print("Currently emerging: ")
- a = 0
- print("\t" + green_start + p[0] + color_stop),
- print('\n\tcurrent emerge time: '),
- organize_times(difference.total_seconds())
- print '\n'
+ if ((p[0] in line) and ('completed emerge' in line)):
+ packages.remove(p)
- return
- else:
- pass
+ a = 1
+ for p in packages:
+ now = datetime.datetime.today()
+ timestamp = datetime.datetime.fromtimestamp(p[1])
+ difference = now - timestamp
+ if difference.total_seconds() < 12*60*60:
+ if a:
+ print("Currently emerging: ")
+ a = 0
+ print("\t" + green_start + p[0] + color_stop),
+ print('\n\tcurrent emerge time: '),
+ organize_times(difference.total_seconds())
+ print '\n'
- get_package(package_name)
- print('-'*90)
+def main_loop(f, package, silent):
+ global emerge_number
# MAIN LOOP
for line in f:
emerge_time = time2-time
- print(str(len(times)+1) + "."),
date = date_printer(full_package, time, emerge_time)
+ if silent == False:
+ print(str(len(times)+1) + "."),
+ print(green_start + package + color_stop + " >>> "
+ + date + " >>> "),
+
+ organize_times(emerge_time)
+
+ print("\n" + '-'*90)
+
times.append((emerge_time, date))
except IndexError: pass
+ print_times(package, times)
+
+
+def main(status):
+ global emerge_number
+
+ f = open_log()
+
+ if status == 'current':
+ current_emerges(f)
+ return
+ else:
+ pass
+
+ package = get_package(package_name)
+
+ print('-'*90)
+
+ main_loop(f, package, False)
if emerge_number == 0:
print("Package '" + package + "' has never been emerged")
main('current')
sys.exit(1)
- print_times(times)
-
write_times(times)