Parent Directory | Revision Log | Patch
--- spamassassin/trunk/masses/rule-qa/automc/gen_info_xml 2005/10/31 23:50:03 329936 +++ spamassassin/trunk/masses/rule-qa/automc/gen_info_xml 2005/10/31 23:56:22 329937 @@ -25,6 +25,16 @@ my @daterevs = get_all_daterevs(); foreach my $dr (@daterevs) { my $drdir = get_datadir_for_daterev($dr); + + # this one is always rebuilt. + print "$drdir/fastinfo.xml: creating...\n"; + my $fastinfo = get_fastinfo($dr, $drdir); + open (OUT, ">$drdir/fastinfo.xml") or die "cannot write $drdir/fastinfo.xml"; + print OUT $fastinfo; + close OUT or die "failed to write to $drdir/fastinfo.xml"; + + # this one is only built if it doesn't already exist, because + # it's quite expensive to build if (-f "$drdir/info.xml" && -s _) { print "$drdir/info.xml: good\n"; next; @@ -45,9 +55,6 @@ sub get_info { my $rev = $2; my $info = { - date => $date, - rev => $rev, - includes_net => 0 }; if (!$svn_log) { @@ -63,13 +70,52 @@ sub get_info { last; } + return XMLout($info); +} + +sub get_fastinfo { + my ($dr, $drdir) = @_; + + $dr =~ /^(\d+)[-\/]r(\d+)$/; + my $date = $1; + my $rev = $2; + + my $info = { + date => $date, + rev => $rev, + includes_net => 0 + }; + if (-f "$drdir/NET.all") { $info->{includes_net} = 1; } + $info->{submitters} = ''; + if (-f "$drdir/DETAILS.all") { + read_submitters("$drdir/DETAILS.all", $info); + } + return XMLout($info); } +sub read_submitters { + my ($fname, $info) = @_; + + open (IN, "<$fname") or warn "cannot read $fname"; + while (<IN>) { + # spam results used for 329933 DETAILS all: spam-mc-fast.log spam-foo.log + if (/^# spam results used for \S+ \S+ \S+: (.*)$/) { + my $sub = $1; + $sub =~ s/\bspam-/ /; + $sub =~ s/\.log\b/ /; + $sub =~ s/\s+/ /gs; + $info->{submitters} = $sub; + } + last if (!/^#/); # don't want anything after the comments end + } + close IN; +} + sub get_all_daterevs { return sort map { s/^.*\/(\d+)\/(r\d+)$/$1-$2/; $_;
infrastructure at apache.org | ViewVC Help |
Powered by ViewVC 1.1.26 |