blob: ec8245149131b3373da438e2629e684c750ea5f5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
#!/usr/bin/env ruby
# Copyright (c) 2017 Luke Shumaker <lukeshu@lukeshu.com>
#
# This work is free. You can redistribute it and/or modify it under
# the terms of the Do What The Fuck You Want To Public License,
# Version 2, as published by Sam Hocevar. See the COPYING file for
# more details.
require 'time'
snapshot = ARGV.first.to_i
$stdin.each_line do |line|
m = /^ (\S+) +(..-\S+-.... ..:..) +([0-9.-]+)(\S+) *$/.match(line)
raise "Malformed line: #{line}" unless m
name = m[1]
datetime = m[2]
size_numb = m[3]
size_unit = m[4]
# The Unicode.org web server switched the timezone of timestamps
# in May 2004
if snapshot < 20040500000000
datetime = Time.parse("#{datetime} +01:00").utc.strftime('%Y-%m-%d %H:%M')
else
datetime = Time.parse("#{datetime} +00:00").utc.strftime('%Y-%m-%d %H:%M')
end
# discard the size, I guess. The number of digits precision was
# inconsistent over the years.
#puts ("%-22s %s %3s%s" % [ name, datetime, size_numb, size_unit ])
puts ("%-22s %s" % [ name, datetime ])
end
|