You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by jm...@apache.org on 2007/10/30 13:36:08 UTC
svn commit: r590051 - /spamassassin/trunk/masses/rule-qa/automc/ruleqa.cgi
Author: jm
Date: Tue Oct 30 05:36:03 2007
New Revision: 590051
URL: http://svn.apache.org/viewvc?rev=590051&view=rev
Log:
separate out meta subrules from full rules in the overlap report section
Modified:
spamassassin/trunk/masses/rule-qa/automc/ruleqa.cgi
Modified: spamassassin/trunk/masses/rule-qa/automc/ruleqa.cgi
URL: http://svn.apache.org/viewvc/spamassassin/trunk/masses/rule-qa/automc/ruleqa.cgi?rev=590051&r1=590050&r2=590051&view=diff
==============================================================================
--- spamassassin/trunk/masses/rule-qa/automc/ruleqa.cgi (original)
+++ spamassassin/trunk/masses/rule-qa/automc/ruleqa.cgi Tue Oct 30 05:36:03 2007
@@ -985,7 +985,6 @@
if ($srcpath) { # bug 4984
@rules = grep {
- # !$md->{$_} or !$md->{$_}->{src} or
$md->{$_}->{src} and
($md->{$_}->{src} =~ /\Q$srcpath\E/);
} @rules;
@@ -994,7 +993,6 @@
if ($mtime) { # bug 4985
my $target = $self->{now} - ($mtime * 24 * 60 * 60);
@rules = grep {
- # !$md->{$_} or !$md->{$_}->{srcmtime} or
$md->{$_}->{srcmtime} and
($md->{$_}->{srcmtime} >= $target);
} @rules;
@@ -1229,9 +1227,25 @@
# add overlap using the FREQS_EXTRA_TEMPLATE if it's present
if ($obj->{overlap}) {
- my $ovl = $obj->{overlap} || '';
+ $self->process_template(\$FREQS_EXTRA_TEMPLATE, {
+ EXTRA => $self->format_overlap($obj->{overlap} || '')
+ }, \$out);
+ }
+
+ return $out;
+}
+
+sub format_overlap {
+ my ($self, $ovl) = @_;
- $ovl =~ s{^(\s+overlap\s+(?:ham|spam):\s+\d+% )(\S.+?)$}{
+ # list the subrules last; they're noisy and typically nonuseful
+ my $out_fullrules = '';
+ my $out_subrules = '';
+
+ foreach my $line (split(/^/m, $ovl)) {
+ my $issubrule = ($line =~ /\d+\%\s+of __/);
+
+ $line =~ s{^(\s+overlap\s+(?:ham|spam):\s+\d+% )(\S.+?)$}{
my $str = "$1";
foreach my $rule (split(' ', $2)) {
if ($rule =~ /^(?:[a-z]{1,6}|\d+\%)$/) { # "of", "hits" etc.
@@ -1243,12 +1257,15 @@
$str;
}gem;
- $self->process_template(\$FREQS_EXTRA_TEMPLATE, {
- EXTRA => $ovl,
- }, \$out);
+ if ($issubrule) {
+ $out_subrules .= $line;
+ } else {
+ $out_fullrules .= $line;
+ }
}
- return $out;
+ return "OVERLAP WITH FULL RULES:\n".$out_fullrules."\n".
+ "OVERLAP WITH SUBRULES:\n".$out_subrules;
}
# get rid of slow, overengineered Template::Toolkit. This replacement