add an RBN line to progress
[spider.git] / perl / DXDupe.pm
index 1dd7c700ff9fdbc0fc40202e6c6a7df328a79d0a..613a2aec677794ba1cd6fe145ea90c3901b61dac 100644 (file)
@@ -9,32 +9,25 @@
 
 package DXDupe;
 
+use strict;
+
 use DXDebug;
 use DXUtil;
 use DXVars;
+use DB_File;
 
 use vars qw{$lasttime $dbm %d $default $fn};
 
 $default = 48*24*60*60;
 $lasttime = 0;
-$fn = "$main::data/dupefile";
-
-use vars qw($VERSION $BRANCH);
-$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;
+localdata_mv("dupefile");
+$fn = localdata("dupefile");
 
 sub init
 {
+       unlink $fn;
        $dbm = tie (%d, 'DB_File', $fn);
-       unless ($dbm) {
-               eval { untie %d };
-               dbg("Dupefile $fn corrupted, removing...");
-               unlink $fn;
-               $dbm = tie (%d, 'DB_File', $fn) or confess "can't open dupe file: $fn ($!)";
-               confess "cannot open $fn $!" unless $dbm; 
-       }
+       confess "cannot open $fn $!" unless $dbm;
 }
 
 sub finish
@@ -42,6 +35,7 @@ sub finish
        undef $dbm;
        untie %d;
        undef %d;
+       unlink $fn;
 }
 
 sub check
@@ -75,7 +69,7 @@ sub process
        # once an hour
        if ($main::systime - $lasttime >=  3600) {
                my @del;
-               while (($k, $v) = each %d) {
+               while (my ($k, $v) = each %d) {
                        push @del, $k  if $main::systime >= $v;
                }
                delete $d{$_} for @del;
@@ -87,7 +81,7 @@ sub get
 {
        my $start = shift;
        my @out;
-       while (($k, $v) = each %d) {
+       while (my ($k, $v) = each %d) {
                push @out, $k, $v if !$start || $k =~ /^$start/; 
        }
        return @out;