diff options
Diffstat (limited to 'plugins/zyklonb/seen-import-degesch.pl')
-rwxr-xr-x | plugins/zyklonb/seen-import-degesch.pl | 39 |
1 files changed, 0 insertions, 39 deletions
diff --git a/plugins/zyklonb/seen-import-degesch.pl b/plugins/zyklonb/seen-import-degesch.pl deleted file mode 100755 index ddef6be..0000000 --- a/plugins/zyklonb/seen-import-degesch.pl +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env perl -# Creates a database for the "seen" plugin from logs for degesch. -# The results may not be completely accurate but are good for jumpstarting. -# Usage: ./seen-import-degesch.pl LOG-FILE... > seen.db - -use strict; -use warnings; -use File::Basename; -use Time::Piece; - -my $db = {}; -for (@ARGV) { - my $where = (basename($_) =~ /\.(.*).log/)[0]; - unless ($where) { - print STDERR "Invalid filename: $_\n"; - next; - } - - open my $fh, '<', $_ or die "Failed to open log file: $!"; - while (<$fh>) { - my ($when, $who, $who_action, $what) = - /^(.{19}) (?:<[~&@%+]*(.*?)>| \* (\S+)) (.*)/; - next unless $when; - - if ($who_action) { - $who = $who_action; - $what = "* $what"; - } - $db->{$who}->{$where} = - [Time::Piece->strptime($when, "%Y-%m-%d %T")->epoch, $what]; - } -} - -while (my ($who, $places) = each %$db) { - while (my ($where, $data) = each %$places) { - my ($when, $what) = @$data; - print ":$who PRIVMSG $where $when :$what\n"; - } -} |