use strict;
use warnings;
use PublicInbox::Eml;
-use PublicInbox::InboxWritable qw(eml_from_path);
+use PublicInbox::InboxWritable qw(eml_from_path warn_ignore_cb);
use PublicInbox::Filter::Base qw(REJECT);
use PublicInbox::Spamcheck;
use PublicInbox::Sigfd;
# path must be marked as (S)een
$path =~ /:2,[A-R]*S[T-Za-z]*\z/ or return;
my $eml = eml_from_path($path) or return;
+ local $SIG{__WARN__} = warn_ignore_cb();
$self->{config}->each_inbox(\&remove_eml_i, [ $self, $eml, $path ]);
}
}
my $warn_cb = $SIG{__WARN__} || sub { print STDERR @_ };
local $SIG{__WARN__} = sub {
- $warn_cb->("path: $path\n");
- $warn_cb->(@_);
+ my $pfx = ($_[0] // '') =~ /^([A-Z]: )/g ? $1 : '';
+ $warn_cb->($pfx, "path: $path\n", @_);
};
if (!ref($inboxes) && $inboxes eq 'watchspam') {
return _remove_spam($self, $path);
sub cfg_bool ($$$) {
my ($cfg, $key, $url) = @_;
my $orig = $cfg->urlmatch($key, $url) // return;
- my $bool = PublicInbox::Config::_git_config_bool($orig);
+ my $bool = $cfg->git_bool($orig);
warn "W: $key=$orig for $url is not boolean\n" unless defined($bool);
$bool;
}
my $x = import_eml($self, $ibx, $eml);
}
} elsif ($inboxes eq 'watchspam') {
+ local $SIG{__WARN__} = warn_ignore_cb();
my $eml = PublicInbox::Eml->new($raw);
my $arg = [ $self, $eml, "$url UID:$uid" ];
$self->{config}->each_inbox(\&remove_eml_i, $arg);
my ($uids, $batch);
my $warn_cb = $SIG{__WARN__} || sub { print STDERR @_ };
local $SIG{__WARN__} = sub {
+ my $pfx = ($_[0] // '') =~ /^([A-Z]: )/g ? $1 : '';
$batch //= '?';
- $warn_cb->("$url UID:$batch\n");
- $warn_cb->(@_);
+ $warn_cb->("$pfx$url UID:$batch\n", @_);
};
my $err;
do {
my $warn_cb = $SIG{__WARN__} || sub { print STDERR @_ };
my ($err, $art);
local $SIG{__WARN__} = sub {
- $warn_cb->("$url ", $art ? ("ARTICLE $art") : (), "\n", @_);
+ my $pfx = ($_[0] // '') =~ /^([A-Z]: )/g ? $1 : '';
+ $warn_cb->("$pfx$url ", $art ? ("ARTICLE $art") : (), "\n", @_);
};
my $inboxes = $self->{nntp}->{$url};
my $last_art;