Author: duncf
Date: Wed Feb 25 06:55:57 2004
New Revision: 6854
Modified:
incubator/spamassassin/trunk/lib/Mail/SpamAssassin/ArchiveIterator.pm
incubator/spamassassin/trunk/lib/Mail/SpamAssassin/CmdLearn.pm
incubator/spamassassin/trunk/masses/corpora/mass-find-nonspam
incubator/spamassassin/trunk/masses/mass-check
incubator/spamassassin/trunk/tools/split_corpora
Log:
ArchiveIterator should pass the class of the message to wanted -- this is needed for proper support of -f with sa-learn
Modified: incubator/spamassassin/trunk/lib/Mail/SpamAssassin/ArchiveIterator.pm
==============================================================================
--- incubator/spamassassin/trunk/lib/Mail/SpamAssassin/ArchiveIterator.pm (original)
+++ incubator/spamassassin/trunk/lib/Mail/SpamAssassin/ArchiveIterator.pm Wed Feb 25 06:55:57 2004
@@ -622,18 +622,18 @@
sub run_message {
my ($self, $msg) = @_;
- my (undef, $format, $date, $mail) = index_unpack($msg);
+ my ($class, $format, $date, $mail) = index_unpack($msg);
if ($format eq "f") {
- return $self->run_file($mail, $date);
+ return $self->run_file($class, $mail, $date);
}
elsif ($format eq "m") {
- return $self->run_mailbox($mail, $date);
+ return $self->run_mailbox($class, $mail, $date);
}
}
sub run_file {
- my ($self, $where, $date) = @_;
+ my ($self, $class, $where, $date) = @_;
mail_open($where) or return;
# skip too-big mails
@@ -644,11 +644,11 @@
my @msg = (<INPUT>);
close INPUT;
- &{$self->{wanted_sub}}($where, $date, \@msg);
+ &{$self->{wanted_sub}}($class, $where, $date, \@msg);
}
sub run_mailbox {
- my ($self, $where, $date) = @_;
+ my ($self, $class, $where, $date) = @_;
my ($file, $offset) = ($where =~ m/(.*)\.(\d+)$/);
my @msg;
@@ -670,7 +670,7 @@
push (@msg, $_);
}
close INPUT;
- &{$self->{wanted_sub}}("$file.$offset", $date, \@msg);
+ &{$self->{wanted_sub}}($class, "$file.$offset", $date, \@msg);
}
############################################################################
Modified: incubator/spamassassin/trunk/lib/Mail/SpamAssassin/CmdLearn.pm
==============================================================================
--- incubator/spamassassin/trunk/lib/Mail/SpamAssassin/CmdLearn.pm (original)
+++ incubator/spamassassin/trunk/lib/Mail/SpamAssassin/CmdLearn.pm Wed Feb 25 06:55:57 2004
@@ -301,7 +301,9 @@
###########################################################################
sub wanted {
- my ($id, $time, $dataref) = @_;
+ my ($class, $id, $time, $dataref) = @_;
+
+ my $spam = $class eq "s" ? 1 : 0;
if (defined($learnprob)) {
if (int (rand (1/$learnprob)) != 0) {
@@ -323,7 +325,7 @@
$ma = Mail::SpamAssassin->parse ($dataref);
}
- my $status = $spamtest->learn ($ma, undef, $isspam, $forget);
+ my $status = $spamtest->learn ($ma, undef, $spam, $forget);
my $learned = $status->did_learn();
if (!defined $learned) { # undef=learning unavailable
Modified: incubator/spamassassin/trunk/masses/corpora/mass-find-nonspam
==============================================================================
--- incubator/spamassassin/trunk/masses/corpora/mass-find-nonspam (original)
+++ incubator/spamassassin/trunk/masses/corpora/mass-find-nonspam Wed Feb 25 06:55:57 2004
@@ -147,7 +147,7 @@
}
sub wanted {
- my ($id, $time, $dataref) = @_;
+ my (undef, $id, $time, $dataref) = @_;
my $ma = Mail::SpamAssassin::NoMailAudit->new ('data' => $dataref);
my $from = $ma->get_header ("From");
Modified: incubator/spamassassin/trunk/masses/mass-check
==============================================================================
--- incubator/spamassassin/trunk/masses/mass-check (original)
+++ incubator/spamassassin/trunk/masses/mass-check Wed Feb 25 06:55:57 2004
@@ -238,7 +238,7 @@
}
sub wanted {
- my ($id, $time, $dataref) = @_;
+ my (undef, $id, $time, $dataref) = @_;
my $out;
my $ma = $spamtest->parse($dataref);
Modified: incubator/spamassassin/trunk/tools/split_corpora
==============================================================================
--- incubator/spamassassin/trunk/tools/split_corpora (original)
+++ incubator/spamassassin/trunk/tools/split_corpora Wed Feb 25 06:55:57 2004
@@ -78,7 +78,7 @@
#############################################
sub wanted {
- my ($msg_id, $time, $data_ref) = @_;
+ my (undef, $msg_id, $time, $data_ref) = @_;
if ($opt_l && $messagecount++ > $opt_l) { die 'HITLIMIT'; }
Date: Wed Feb 25 06:55:57 2004
New Revision: 6854
Modified:
incubator/spamassassin/trunk/lib/Mail/SpamAssassin/ArchiveIterator.pm
incubator/spamassassin/trunk/lib/Mail/SpamAssassin/CmdLearn.pm
incubator/spamassassin/trunk/masses/corpora/mass-find-nonspam
incubator/spamassassin/trunk/masses/mass-check
incubator/spamassassin/trunk/tools/split_corpora
Log:
ArchiveIterator should pass the class of the message to wanted -- this is needed for proper support of -f with sa-learn
Modified: incubator/spamassassin/trunk/lib/Mail/SpamAssassin/ArchiveIterator.pm
==============================================================================
--- incubator/spamassassin/trunk/lib/Mail/SpamAssassin/ArchiveIterator.pm (original)
+++ incubator/spamassassin/trunk/lib/Mail/SpamAssassin/ArchiveIterator.pm Wed Feb 25 06:55:57 2004
@@ -622,18 +622,18 @@
sub run_message {
my ($self, $msg) = @_;
- my (undef, $format, $date, $mail) = index_unpack($msg);
+ my ($class, $format, $date, $mail) = index_unpack($msg);
if ($format eq "f") {
- return $self->run_file($mail, $date);
+ return $self->run_file($class, $mail, $date);
}
elsif ($format eq "m") {
- return $self->run_mailbox($mail, $date);
+ return $self->run_mailbox($class, $mail, $date);
}
}
sub run_file {
- my ($self, $where, $date) = @_;
+ my ($self, $class, $where, $date) = @_;
mail_open($where) or return;
# skip too-big mails
@@ -644,11 +644,11 @@
my @msg = (<INPUT>);
close INPUT;
- &{$self->{wanted_sub}}($where, $date, \@msg);
+ &{$self->{wanted_sub}}($class, $where, $date, \@msg);
}
sub run_mailbox {
- my ($self, $where, $date) = @_;
+ my ($self, $class, $where, $date) = @_;
my ($file, $offset) = ($where =~ m/(.*)\.(\d+)$/);
my @msg;
@@ -670,7 +670,7 @@
push (@msg, $_);
}
close INPUT;
- &{$self->{wanted_sub}}("$file.$offset", $date, \@msg);
+ &{$self->{wanted_sub}}($class, "$file.$offset", $date, \@msg);
}
############################################################################
Modified: incubator/spamassassin/trunk/lib/Mail/SpamAssassin/CmdLearn.pm
==============================================================================
--- incubator/spamassassin/trunk/lib/Mail/SpamAssassin/CmdLearn.pm (original)
+++ incubator/spamassassin/trunk/lib/Mail/SpamAssassin/CmdLearn.pm Wed Feb 25 06:55:57 2004
@@ -301,7 +301,9 @@
###########################################################################
sub wanted {
- my ($id, $time, $dataref) = @_;
+ my ($class, $id, $time, $dataref) = @_;
+
+ my $spam = $class eq "s" ? 1 : 0;
if (defined($learnprob)) {
if (int (rand (1/$learnprob)) != 0) {
@@ -323,7 +325,7 @@
$ma = Mail::SpamAssassin->parse ($dataref);
}
- my $status = $spamtest->learn ($ma, undef, $isspam, $forget);
+ my $status = $spamtest->learn ($ma, undef, $spam, $forget);
my $learned = $status->did_learn();
if (!defined $learned) { # undef=learning unavailable
Modified: incubator/spamassassin/trunk/masses/corpora/mass-find-nonspam
==============================================================================
--- incubator/spamassassin/trunk/masses/corpora/mass-find-nonspam (original)
+++ incubator/spamassassin/trunk/masses/corpora/mass-find-nonspam Wed Feb 25 06:55:57 2004
@@ -147,7 +147,7 @@
}
sub wanted {
- my ($id, $time, $dataref) = @_;
+ my (undef, $id, $time, $dataref) = @_;
my $ma = Mail::SpamAssassin::NoMailAudit->new ('data' => $dataref);
my $from = $ma->get_header ("From");
Modified: incubator/spamassassin/trunk/masses/mass-check
==============================================================================
--- incubator/spamassassin/trunk/masses/mass-check (original)
+++ incubator/spamassassin/trunk/masses/mass-check Wed Feb 25 06:55:57 2004
@@ -238,7 +238,7 @@
}
sub wanted {
- my ($id, $time, $dataref) = @_;
+ my (undef, $id, $time, $dataref) = @_;
my $out;
my $ma = $spamtest->parse($dataref);
Modified: incubator/spamassassin/trunk/tools/split_corpora
==============================================================================
--- incubator/spamassassin/trunk/tools/split_corpora (original)
+++ incubator/spamassassin/trunk/tools/split_corpora Wed Feb 25 06:55:57 2004
@@ -78,7 +78,7 @@
#############################################
sub wanted {
- my ($msg_id, $time, $data_ref) = @_;
+ my (undef, $msg_id, $time, $data_ref) = @_;
if ($opt_l && $messagecount++ > $opt_l) { die 'HITLIMIT'; }