I've been trying to keep up with reading the IRC logs, but they aren't
the easiest to read.

So.... I turned to scripting and created a much easier to read format
based on the original text.  The new format separates the text by
subject, tallies the attendees and reports on these at the end.

The script (called "irc") is in Ruby and is attached - it writes out a
file "irc.{mo}.{day}".

-- 
UNIX System Administrator
Linux+, SCSA, RHCE, LPIC-1
HP-UX, Linux, Solaris, FreeBSD
Books: "Advanced System Administration" and "GNU Screen: A Comprehensive 
Introduction"
http://www.lulu.com/ssrat

#!/usr/bin/ruby

message = STDIN.readlines.map { |x|
        x.gsub!(/=\n$/,'')
        x.gsub!(/=20/, ' ')
        x.gsub!(/=3D/, '=')
        x
}

x = `date "+irc.%m.%d"`
$stdout = File.open(x.chomp, "w+")

x = `date`.chomp
print x

attendees = Hash.new
joined = Hash.new
message.to_s.each { |x|
        next unless (x =~ /^\[[0-9][0-9]:[0-9][0-9]\]/)
        x.gsub!(/^\[..:..\] \* /, "  * ")

        if (/subject to (.*)/.match(x))
                s = "SUBJECT: #{$1}"
                print "\n\n#{s}\n#{"=" * s.size}\n\n"
        elsif (/^\[..:..\] ([^ ]*) has joined /.match(x))
                joined[$1] = 1
                print x.gsub(/...:... /, "  ")
        elsif (/^\[..:..\] ([^: ]*) /.match(x))
                print x.gsub(/...:... /, "  ")
        else
                print x
#               print x.gsub(/^...:... /, "        ")
        end

        if (/^\[..:..\] ([^ :]*): /.match(x))
                attendees[$1] = 1
        end


}

total = (attendees.keys + joined.keys).sort.uniq
print "\n\nAttendees (#{total.size}): \n"

total.each { |x|
        print "\t", x
        if (joined.member?(x) && ! attendees.member?(x))
                print " (nonspeaking)"
        end
        print "\n"
}

#message.each { |line|
#       line.chomp!
#       if (line =~ /=$/)
#               line.chop!
#               line += readline.chomp!
#       end
#
#       if (line =~ /set the subject to (.*)/)
#               subj = $1;
#               print "\n", subj, "\n\n";
#       else
#               print line, "\n";
#       end
#}


_______________________________________________
Fedora-infrastructure-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/fedora-infrastructure-list

Reply via email to