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 | |
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.
-rw-r--r-- | Documentation/public-inbox-learn.pod | 2 | ||||
-rw-r--r-- | Documentation/public-inbox-mda.pod | 2 | ||||
-rwxr-xr-x | script/public-inbox-learn | 23 | ||||
-rwxr-xr-x | script/public-inbox-mda | 18 |
4 files changed, 34 insertions, 11 deletions
diff --git a/Documentation/public-inbox-learn.pod b/Documentation/public-inbox-learn.pod index cd9bf278..94c96fd5 100644 --- a/Documentation/public-inbox-learn.pod +++ b/Documentation/public-inbox-learn.pod @@ -4,7 +4,7 @@ public-inbox-learn - spam trainer and remover for public-inbox =head1 SYNOPSIS -B<public-inbox-learn> <spam|ham|rm> E<lt>MESSAGE + public-inbox-learn <spam|ham|rm> </path/to/RFC2822_message =head1 DESCRIPTION diff --git a/Documentation/public-inbox-mda.pod b/Documentation/public-inbox-mda.pod index 99c9053d..a5e353e5 100644 --- a/Documentation/public-inbox-mda.pod +++ b/Documentation/public-inbox-mda.pod @@ -4,7 +4,7 @@ public-inbox-mda - mail delivery agent for public-inbox =head1 SYNOPSIS -B<public-inbox-mda> E<lt>MESSAGE + public-inbox-mda </path/to/RFC2822_message =head1 DESCRIPTION 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; |