Skip to content

Instantly share code, notes, and snippets.

@koi-chan
Last active September 7, 2019 05:52
Show Gist options
  • Save koi-chan/c2cb0b406fe5c64aa054e3e6292a7edc to your computer and use it in GitHub Desktop.
Save koi-chan/c2cb0b406fe5c64aa054e3e6292a7edc to your computer and use it in GitHub Desktop.
require 'json'
require 'time'
unless ARGV.length == 1
$stderr.puts("Usage: ruby #{File.basename($PROGRAM_NAME)} JSON")
abort
end
entries = []
begin
entries = JSON.parse(File.read(ARGV[0], encoding: 'UTF-8'))
rescue => e
$stderr.puts("#{filename} #{e}")
end
i = 0
entries.sort_by! do |entry|
[entry['timestamp'], i += 1]
end
puts(JSON.generate(entries))
require 'json'
require 'time'
unless ARGV.length == 1
$stderr.puts("Usage: ruby #{File.basename($PROGRAM_NAME)} JSON")
abort
end
entries = []
begin
entries = JSON.parse(File.read(ARGV[0], encoding: 'UTF-8'))
rescue => e
$stderr.puts("#{filename} #{e}")
end
# {'nick' => ['user', 'host']
irc_users = {}
entries.map! do |entry|
if entry['user'].nil? && irc_users.has_key?(entry['nick'])
entry['user'], entry['host'] = irc_users[entry['nick']]
end
case entry['type']
when 'JOIN'
irc_users[entry['nick']] = [entry['user'], entry['host']]
when 'PART', 'QUIT'
irc_users.delete(entry['nick'])
when 'NICK'
if irc_users.has_key?(entry['nick'])
irc_users[entry['message']] = irc_users.delete(entry['nick'])
end
end
entry
end
puts(JSON.pretty_generate(entries))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment