unlock-parse: remove. unused and unreliable
This commit is contained in:
parent
732b81139f
commit
9a7f1a5c03
|
@ -1,56 +0,0 @@
|
||||||
#!/usr/bin/env ruby
|
|
||||||
|
|
||||||
require 'time'
|
|
||||||
|
|
||||||
def valid_log(lines)
|
|
||||||
lines.reduce(["L",true]){|acc,line|
|
|
||||||
if acc[1] && line[0] != acc[0] then
|
|
||||||
[line[0], true]
|
|
||||||
else
|
|
||||||
[nil, false]
|
|
||||||
end
|
|
||||||
}[1]
|
|
||||||
end
|
|
||||||
|
|
||||||
if ARGV[0] == '-h' then
|
|
||||||
puts <<~HELP
|
|
||||||
Usage: unlock-parse [-s] DAY...
|
|
||||||
-s short output, total only
|
|
||||||
HELP
|
|
||||||
exit
|
|
||||||
end
|
|
||||||
|
|
||||||
if ARGV[0] == '-s' then
|
|
||||||
short=true
|
|
||||||
days=ARGV[1..-1]
|
|
||||||
else
|
|
||||||
short=false
|
|
||||||
days=ARGV
|
|
||||||
end
|
|
||||||
|
|
||||||
days.empty? && days = [Date.today.iso8601]
|
|
||||||
|
|
||||||
days.each do |logday|
|
|
||||||
|
|
||||||
|
|
||||||
path = if File.exists? logday then logday else ENV['XDG_DATA_HOME'] + '/log/locktime/' + logday end
|
|
||||||
|
|
||||||
log = File.readlines(path)
|
|
||||||
|
|
||||||
if ! valid_log(log) then puts "Invalid log file"; exit 1 end
|
|
||||||
|
|
||||||
if log.length % 2 != 0 then
|
|
||||||
log << "L " + Time.now.iso8601
|
|
||||||
end
|
|
||||||
|
|
||||||
times = log.each_slice(2).map{|e|
|
|
||||||
Time.parse(e[1][2..-1]) - Time.parse(e[0][2..-1])
|
|
||||||
}
|
|
||||||
|
|
||||||
if ! short then
|
|
||||||
times.map{|t| Time.at(t).utc.strftime("%H:%M:%S")}.each{|s|puts s}
|
|
||||||
puts "\nTotal:"
|
|
||||||
end
|
|
||||||
puts Time.at(times.sum).utc.strftime("%H:%M:%S")
|
|
||||||
|
|
||||||
end
|
|
Loading…
Reference in a new issue