]> git.donarmstrong.com Git - debbugs.git/blobdiff - bin/debbugs-spam
remove quick option and add quiet option
[debbugs.git] / bin / debbugs-spam
index b172e97e36508ebd70b35e3b28fa2ae826ff314c..613eec279f295ea5f8cbf7e70af9c44d10e65e95 100755 (executable)
@@ -93,6 +93,7 @@ use Debbugs::Log qw(record_regex);
 use Debbugs::Log::Spam;
 use Debbugs::Config qw(:config);
 use Debbugs::Command qw(:all);
+use Debbugs::Common qw(getbuglocation);
 use IPC::Open3 qw(open3);
 use Carp;
 
@@ -102,25 +103,28 @@ my %options =
      man     => 0,
      verbose => 0,
      quiet   => 0,
-     quick   => 0,
      spamc   => 'spamc',
      spamc_opts => [],
     );
 
 handle_main_arguments(\%options,
-                      'quick|q',
                       'service|s',
                       'sysconfdir|c',
                       'spamc=s' => 0,
                       'spamc_opts|spamc-opts=s@' => 0,
                       'spool_dir|spool-dir=s',
+                      'quiet|q:+',
+                      'verbose|v:+',
                       'debug|d+','help|h|?','man|m');
 
 my %subcommands =
     ('auto-scan' => {function => \&auto_spamscan,
                      arguments => {'ham_threshold|ham-threshold=s' => 0,
+                                   'skip_missing|skip-missing!' => 0,
                                   },
-                     defaults => {ham_threshold => -5},
+                     defaults => {ham_threshold => -5,
+                                  skip_missing => 0,
+                                 },
                     },
      'score' => {function => \&score_bug,
                  arguments => {'skip_seen|skip-seen!' => 0
@@ -226,6 +230,11 @@ sub auto_spamscan {
     my ($options,$opts,$config,$argv) = @_;
 
     for my $bug_num (@{$argv}) {
+        if ($opts->{skip_missing} and
+            not defined getbuglocation($bug_num,'log')) {
+            print STDERR "bug $bug_num does not exist\n" if $options->{verbose} > -1;
+            next;
+        }
         my $spam = Debbugs::Log::Spam->new(bug_num => $bug_num) or
             die "Unable to open bug log spam for $bug_num";
         foreachmsg(sub {