49 lines
1.1 KiB
Python
49 lines
1.1 KiB
Python
import os, sys, re
|
|
import datetime
|
|
from pprint import pprint
|
|
|
|
base_path = sys.argv[1]
|
|
assert os.path.exists(base_path)
|
|
|
|
log_path = os.path.join(base_path, "logs/all.log")
|
|
assert os.path.exists(log_path)
|
|
|
|
html_path = os.path.join(base_path, "scripts/base.html")
|
|
index = os.path.join(base_path, "index.html")
|
|
assert os.path.exists(html_path)
|
|
|
|
with open(log_path, 'r') as f:
|
|
log_file = f.read().splitlines()
|
|
log_file.reverse()
|
|
|
|
with open(html_path, 'r') as f:
|
|
html_file = f.read()
|
|
dists = re.findall("@@([^@@]+)@@", html_file)
|
|
pprint(dists)
|
|
|
|
logs = {}
|
|
for dist in dists:
|
|
logs[dist] = []
|
|
|
|
for logline in log_file:
|
|
print(logline)
|
|
time, stat, dist = logline.split(" ")
|
|
if stat == "DONE":
|
|
time = datetime.datetime.strptime(time, '%Y%m%d_%H%M')
|
|
if dist in logs.keys():
|
|
logs[dist].append(time)
|
|
|
|
last = {}
|
|
for dist in logs:
|
|
if logs[dist]:
|
|
last[dist] = sorted(logs[dist])[-1].strftime("%Y-%m-%d %H:%M")
|
|
else:
|
|
last[dist] = "Not Synced"
|
|
pprint(last)
|
|
|
|
for dist in last:
|
|
html_file = html_file.replace(f"@@{dist}@@", last[dist])
|
|
|
|
with open(index, 'w') as f:
|
|
f.write(html_file)
|