-- .system/2008-10-07.120800+0200CEST.txt:---- -- Bogdan Harjoc (bzerodi) changed status from -- Available to Away @ 10/07/2008 04:12:46 PM ---- local args = {...} local id, wohin = args[1], args[2] local count = {} for fid=3, #args do local f = io.open(args[fid]) for line in f:lines() do local i, i, who, status, h, m, s, x = line:find( "%(([^%)]+)%) changed status from " .. "([^@]+) @ %d%d/%d%d/%d%d%d%d " .. "(%d%d):(%d%d):(%d%d) " .. "([AP]M) ----") if i and who == id then local dir = (status):sub(1, 7) == "Offline" and "in" or (status):sub(-7, -1) == "Offline" and "out" or "about" if dir == wohin then local key = ("%s %02d:%02d"):format( x, h, math.floor(m/30)*30) count[key] = (count[key] or 0) + 1 end end end f:close() end for _, x in ipairs{"AM", "PM"} do for h=0, 11 do for m=0, 30, 30 do local key = ("%s %02d:%02d"):format( x, (x=="PM" and h==0 and 12 or h), m) print(key, count[key] and ('*'):rep(count[key]) or "") end end end