truncate qrg in spot dupe check
[spider.git] / perl / DXDupe.pm
index 1a0eb14c9de608afca15c330b73155c9704a7411..1dd7c700ff9fdbc0fc40202e6c6a7df328a79d0a 100644 (file)
@@ -20,8 +20,10 @@ $lasttime = 0;
 $fn = "$main::data/dupefile";
 
 use vars qw($VERSION $BRANCH);
-
-main::mkver($VERSION = q$Revision$);
+$VERSION = sprintf( "%d.%03d", q$Revision$ =~ /(\d+)\.(\d+)/ );
+$BRANCH = sprintf( "%d.%03d", q$Revision$ =~ /\d+\.\d+\.(\d+)\.(\d+)/  || (0,0));
+$main::build += $VERSION;
+$main::branch += $BRANCH;
 
 sub init
 {
@@ -72,9 +74,11 @@ sub process
 {
        # once an hour
        if ($main::systime - $lasttime >=  3600) {
+               my @del;
                while (($k, $v) = each %d) {
-                       delete $d{$k} if $main::systime >= $v;
+                       push @del, $k  if $main::systime >= $v;
                }
+               delete $d{$_} for @del;
                $lasttime = $main::systime;
        }
 }
@@ -101,7 +105,7 @@ sub listdups
        my @out;
        for (sort { $d{$a} <=> $d{$b} } grep { m{$regex}i } keys %d) {
                my ($dum, $key) = unpack "a1a*", $_;
-               push @out, "$key = " . cldatetime($d{$_} - $dupage);
+               push @out, "$key = " . cldatetime($d{$_} - $dupage) . " expires " . cldatetime($d{$_});
        }
        return @out;
 }