Cleaned up handling of MAPSMessage file a bit.
[clearscm.git] / maps / bin / mapsscrub.pl
index 06ea1d7..abf1d31 100755 (executable)
@@ -54,6 +54,7 @@ use Getopt::Long;
 use Pod::Usage;
 
 use DateUtils;
+use Display;
 use Logger;
 use MAPS;
 use Utils;
@@ -61,10 +62,12 @@ use Utils;
 my %opts = (
   usage    => sub { pod2usage },
   help     => sub { pod2usage (-verbose => 2)},
+  verbose  => sub { set_verbose },
+  debug    => sub { set_debug },
   optimize => 1,
 );
 
-my ($userid, $log, %total);
+my ($log, %total);
 
 sub CleanUp($) {
   my ($userid) = @_;
@@ -73,14 +76,17 @@ sub CleanUp($) {
 
   my $timestamp = SubtractDays(Today2SQLDatetime, $options{History});
 
-  $total{'Emails cleaned'}      = CleanEmail $timestamp;
-  $total{'Log entries removed'} = CleanLog   $timestamp;
+  $total{'Emails cleaned'}      = CleanEmail $timestamp, $opts{dryrun};
+  $total{'Log entries removed'} = CleanLog   $timestamp, $opts{dryrun};
 
   for (qw(white black null)) {
-    $total{"${_}list entries removed"} = CleanList(
+    my $listname = ucfirst($_) . 'list entries removed';
+
+    $total{$listname} = CleanList(
       userid => $userid,
       type   => $_,
       log    => $log,
+      dryrun => $opts{dryrun},
     );
   } # for
 
@@ -98,6 +104,7 @@ GetOptions(
   'debug',
   'userid=s',
   'optimize!',
+  'dryrun',
 ) or pod2usage;
 
 $log = Logger->new(
@@ -107,8 +114,6 @@ $log = Logger->new(
 
 FindUser(%opts{userid});
 
-#$~ = "REPORT" if $verbose;
-
 while (my $rec = GetUser) {
   SetContext($rec->{userid});
 
@@ -116,6 +121,10 @@ while (my $rec = GetUser) {
 } # while
 
 # Now optimize the database
-OptimizeDB if $opts{optimize};
+if ($opts{optimize}) {
+  OptimizeDB;
+
+  $log->msg('Database optimized');
+} # if
 
 exit;