X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=scripts%2Firclog2html.pl;h=6ae27e5e6c90d9ce99ea9a0b6ef402b1566d2726;hb=a432159b3f7c83e462ac09c3c3cab876b492693b;hp=6714ffd2d3039e310dbe002cfb09717cc965f579;hpb=11c68df6a305c029511bd945856149385faec33a;p=infobot.git diff --git a/scripts/irclog2html.pl b/scripts/irclog2html.pl index 6714ffd..6ae27e5 100755 --- a/scripts/irclog2html.pl +++ b/scripts/irclog2html.pl @@ -1,4 +1,4 @@ -#!/usr/bin/perl +#!/usr/bin/perl -w # irclog2html.pl Version 1.5 - 11th May 2000 # Copyright (C) 2000, Jeffrey W. Waugh @@ -61,15 +61,15 @@ sub header { my ($channel, $date) = @_; my $return = ''; - $return .= qq{ + $return .= qq{ irclog2html for $channel on $date - - + + - +

irclog2html for $channel on $date

}; @@ -91,7 +91,7 @@ sub footer { freshmeat.net! Modified by Tim Riker to work with blootbot logs, split per channel, etc. -
+ }; return $return; } @@ -160,11 +160,11 @@ sub output_timenicktext { $lineout .= "$time " if $time; $lineout .= "<\;$nick>\; $text<\/font>
\n"; } - output_line($date, $time,$channel,$lineout); + output_line($date, $time, $channel, $lineout); } sub output_timeservermsg { - my ($date, $time, $line) = @_; + my ($date, $time, $channel, $line) = @_; my $lineout = ''; if ($STYLE =~ /table/) { @@ -176,7 +176,7 @@ sub output_timeservermsg { $lineout .= "$time " if $time; $lineout .= "$line
\n"; } - output_line($date, $time,'',$lineout); + output_line($date, $time, $channel, $lineout); } sub html_rgb @@ -188,9 +188,9 @@ sub html_rgb my $rgbmin = 240; my $a = 0.95; # tune these for the starting and ending concentrations of R,G,B - my $b = 0.5; + my $c = 0.5; - my $rgb = [ [$a,$b,$b], [$b,$a,$b], [$b,$b,$a], [$a,$a,$b], [$a,$b,$a], [$b,$a,$a] ]; + my $rgb = [ [$a,$c,$c], [$c,$a,$c], [$c,$c,$a], [$a,$a,$c], [$a,$c,$a], [$c,$a,$a] ]; my $n = $i % @$rgb; my $m = $rgbmin + ($rgbmax - $rgbmin) * ($ncolours - $i) / $ncolours; @@ -225,13 +225,13 @@ sub main { chomp $line; if (!$line eq "") { - # parse out the time - if ($line =~ s/^([0-9:\.]*) (.*)$/\2/) { + if ($line =~ s/^([0-9:\.]*) (.*)$/$2/) { $time = $1; } else { - $time = ""; + $time = ''; } + $channel = ''; # Replace ampersands, pointies, control characters # $line =~ s/&/&\;/g; @@ -249,13 +249,14 @@ sub main { $nick = $line; $nick =~ s/^<\;([^\/]*?)\/\#.*?>\; .*$/$1/; $channel = $line; - $channel =~ s/^<\;[^\/]*?\/\#(.*?)>\; .*$/$1/; + $channel =~ s/^<\;[^\/]*?\/(\#.*?)>\; .*$/$1/; # $nick =~ tr/[A-Z]/[a-z]/; # <======= move this into another function when getting nick colour $text = $line; $text =~ s/^<\;.*?>\; (.*)$/$1/; + $text =~ s/^ .*/<\;PROTECTED>\;/g; $text =~ s/ / \; \;/g; $htmlcolour = $colour_nick{$nick}; @@ -269,45 +270,40 @@ sub main { $htmlcolour = $colour_nick{$nick} = html_rgb($nickcount, $NICKMAX); } output_timenicktext($date, $time, $channel, $nick, $text, $htmlcolour); - } - - elsif ($line =~ /^>\;>\;>\; /) { + } elsif ($line =~ /^>\;>\;>\; /) { $line =~ s/^>\;>\;>\; /\*\*\* /; - - # Process changed nick results, and remember colours accordingly # - if ($line =~ /\*\*\* (.*?) are|is now known as (.*)/) { - my $nick_old; - my $nick_new; - $nick_old = $line; - $nick_old =~ s/\*\*\* (.*?) (are|is) now known as .*/$1/; + # Process changed nick results, and remember colours accordingly # + if ($line =~ /\*\*\* (.*?) materializes into (.*)/) { + my $nick_old = $1; + my $nick_new = $2; - $nick_new = $line; - $nick_new =~ s/\*\*\* .*? (are|is) now known as (.*)/$2/; + #$nick_old = $line; + #$nick_old =~ s/\*\*\* (.*?) materializes into .*/$1/; + #$nick_new = $line; + #$nick_new =~ s/\*\*\* (.*?) materializes into (.*)/$2/; $colour_nick{$nick_new} = $colour_nick{$nick_old}; $colour_nick{$nick_old} = undef; $line =~ s/(\*\*\* .*)/$1<\/font>/ - } - - # Colourise joined/left/server messages # - elsif ($line =~ /\*\*\* .*left|quit/) { - $line =~ s/(\*\*\* .*)/$1<\/font>/; - } - elsif ($line =~ /\*\*\* .*joined/) { + } elsif ($line =~ /\*\*\* (join|mode|topic)\/(.*?) .*/) { + $channel = lc $2; $line =~ s/(\*\*\* .*)/$1<\/font>/; - } - elsif ($line =~ /\*\*\* /) { + } elsif ($line =~ /\*\*\* (part|kick|banned)\/(.*?) .*/) { + $channel = lc $2; + $line =~ s/(\*\*\* .*)/$1<\/font>/; + } elsif ($line =~ /\*\*\* .* has signed off IRC .*/) { + # Colourise joined/left/server messages # + $line =~ s/(\*\*\* .*)/$1<\/font>/; + } elsif ($line =~ /\*\*\* /) { $line =~ s/(\*\*\* .*)$/$1<\/font>/; - } - - # Colourise the /me's # - elsif ($line =~ /^\* .*$/) { + } elsif ($line =~ /^\* .*$/) { + # Colourise the /me's # $line =~ s/^(\*.*)$/$1<\/font>/; } - output_timeservermsg($date, $time, $line); + output_timeservermsg($date, $time, $channel, $line); } } }