From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-4.0 required=3.0 tests=ALL_TRUSTED,BAYES_00 shortcircuit=no autolearn=ham autolearn_force=no version=3.4.2 Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id A73F71F4D5 for ; Mon, 28 Oct 2019 10:45:31 +0000 (UTC) From: Eric Wong To: meta@public-inbox.org Subject: [PATCH 13/14] learn: allow running without spamc Date: Mon, 28 Oct 2019 10:45:27 +0000 Message-Id: <20191028104528.10140-14-e@80x24.org> In-Reply-To: <20191028104528.10140-1-e@80x24.org> References: <20191028104528.10140-1-e@80x24.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit List-Id: It's possible that a user will want to disabe SpamAssassin via "publicinboxmda.spamcheck=none" in public-inbox-config(5) when injecting ham into an inbox. Fixes: 466df3e029fe ("mda: allow configuring globally without spamc support") --- script/public-inbox-learn | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/script/public-inbox-learn b/script/public-inbox-learn index 3073294a..145f41ea 100644 --- a/script/public-inbox-learn +++ b/script/public-inbox-learn @@ -11,21 +11,23 @@ use PublicInbox::Config; use PublicInbox::InboxWritable; use PublicInbox::MIME; use PublicInbox::Address; -use PublicInbox::Spamcheck::Spamc; +use PublicInbox::Spamcheck; my $train = shift or die "usage: $usage\n"; if ($train !~ /\A(?:ham|spam|rm)\z/) { die "`$train' not recognized.\nusage: $usage\n"; } -my $spamc = PublicInbox::Spamcheck::Spamc->new; my $pi_config = PublicInbox::Config->new; +my $key = 'publicinboxmda.spamcheck'; +my $default = 'PublicInbox::Spamcheck::Spamc'; +my $spamc = PublicInbox::Spamcheck::get($pi_config, $key, $default); my $err; my $mime = PublicInbox::MIME->new(eval { local $/; my $data = scalar ; $data =~ s/\A[\r\n]*From [^\r\n]*\r?\n//s; - if ($train ne 'rm') { + if ($train ne 'rm' && defined($spamc)) { eval { if ($train eq 'ham') { $spamc->hamlearn(\$data);