diff options
author | Eric Wong <e@80x24.org> | 2020-09-01 01:15:03 +0000 |
---|---|---|
committer | Eric Wong <e@80x24.org> | 2020-09-02 08:53:57 +0000 |
commit | 6c252b62bef579207ca417939076a9896d8a791b (patch) | |
tree | 32f3aa286595dcc56f6053d6cbf1523b4e18e94c /script | |
parent | a48e37f10fd5de2a28d9fca95425603f4fa42e6d (diff) | |
download | public-inbox-6c252b62bef579207ca417939076a9896d8a791b.tar.gz |
"use Getopt::Long" doesn't seem too slow on a hot page cache, and it's probably used frequently enough to be in cache. We'll also start reducing the amount of markup in the .pod and favoring verbatim text in documentation for readability in source form, since the bold text seems excessive.
Diffstat (limited to 'script')
-rwxr-xr-x | script/public-inbox-learn | 23 | ||||
-rwxr-xr-x | script/public-inbox-mda | 18 |
2 files changed, 32 insertions, 9 deletions
diff --git a/script/public-inbox-learn b/script/public-inbox-learn index 5cd08d49..fb2d86ec 100755 --- a/script/public-inbox-learn +++ b/script/public-inbox-learn @@ -4,9 +4,22 @@ # # Used for training spam (via SpamAssassin) and removing messages from a # public-inbox -my $usage = "$0 <spam|ham|rm> </path/to/message"; +my $help = <<EOF; +usage: public-inbox-learn [OPTIONS] [spam|ham|rm] </path/to/RFC2822_message + +required action argument: + + spam unindex the message and train as spam + rm remove the message without training as spam + ham index the message (based on To:/Cc: headers) and train as ham + +options: + + --all scan all inboxes on `rm' + +See public-inbox-learn(1) man page for full documentation. +EOF use strict; -use warnings; use PublicInbox::Config; use PublicInbox::InboxWritable; use PublicInbox::Eml; @@ -14,11 +27,11 @@ use PublicInbox::Address; use PublicInbox::Spamcheck::Spamc; use Getopt::Long qw(:config gnu_getopt no_ignore_case auto_abbrev); my %opt = (all => 0); -GetOptions(\%opt, 'all') or die "bad command-line args\n"; +GetOptions(\%opt, qw(all help|h)) or die $help; -my $train = shift or die "usage: $usage\n"; +my $train = shift or die $help; if ($train !~ /\A(?:ham|spam|rm)\z/) { - die "`$train' not recognized.\nusage: $usage\n"; + die "`$train' not recognized.\n$help"; } die "--all only works with `rm'\n" if $opt{all} && $train ne 'rm'; diff --git a/script/public-inbox-mda b/script/public-inbox-mda index 02ca3431..3ed5abb6 100755 --- a/script/public-inbox-mda +++ b/script/public-inbox-mda @@ -3,11 +3,21 @@ # License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt> # # Mail delivery agent for public-inbox, run from your MTA upon mail delivery +my $help = <<EOF; +usage: public-inbox-mda [OPTIONS] </path/to/RFC2822_message + +options: + + --no-precheck skip internal checks for spam messages + +See public-inbox-mda(1) man page for full documentation. +EOF use strict; -use warnings; -my $usage = 'public-inbox-mda [OPTIONS] < rfc2822_message'; -my $precheck = grep(/\A--no-precheck\z/, @ARGV) ? 0 : 1; -my ($ems, $emm); +use Getopt::Long qw(:config gnu_getopt no_ignore_case auto_abbrev); +my ($ems, $emm, $show_help); +my $precheck = 1; +GetOptions('precheck!' => \$precheck, 'help|h' => \$show_help) or + do { print STDERR $help; exit 1 }; my $do_exit = sub { my ($code) = shift; |