X-Git-Url: http://www.git.stargrave.org/?a=blobdiff_plain;f=public-inbox-learn;h=3b0dae8e9c04217334ff8f7173a6ecae245d0f5e;hb=f76f265a851944b5dedcc3be5f3b5224b6ebda89;hp=db0a1bb35e5ec8115e007c4dcd8cd12fdee82a70;hpb=f0ba219d00c4634a055ec364092284630cdbe9e1;p=public-inbox.git diff --git a/public-inbox-learn b/public-inbox-learn index db0a1bb3..3b0dae8e 100755 --- a/public-inbox-learn +++ b/public-inbox-learn @@ -1,5 +1,5 @@ #!/usr/bin/perl -w -# Copyright (C) 2014, Eric Wong and all contributors +# Copyright (C) 2014-2015 all contributors # License: AGPLv3 or later (https://www.gnu.org/licenses/agpl-3.0.txt) my $usage = "$0 (spam|ham) < /path/to/message"; use strict; @@ -60,6 +60,7 @@ foreach my $recipient (keys %dests) { # no checking for spam here, we assume the message has # been reviewed by a human at this point: PublicInbox::MDA->set_list_headers($mime, $dst); + my $s = $mime->as_string; local $ENV{GIT_AUTHOR_NAME} = $name; local $ENV{GIT_AUTHOR_EMAIL} = $email; @@ -67,7 +68,7 @@ foreach my $recipient (keys %dests) { # Ham messages are trained when they're marked into # a SEEN state, so this is idempotent: - run([PublicInbox::MDA->cmd, $git_dir], \$in, \$out, \$err); + run([PublicInbox::MDA->cmd, $git_dir], \$s, \$out, \$err); if ($err !~ /CONFLICT/) { $err = 1; } @@ -75,5 +76,11 @@ foreach my $recipient (keys %dests) { if (!run([qw(spamc -L), $train], \$in, @output)) { $err = 1; } + + $err or eval { + require PublicInbox::SearchIdx; + PublicInbox::SearchIdx->new($git_dir, 2)->index_sync; + }; } + exit $err;