]> dxcluster.org Git - spider.git/commitdiff
fix spot dupes?
authorminima <minima>
Fri, 25 Feb 2005 10:11:33 +0000 (10:11 +0000)
committerminima <minima>
Fri, 25 Feb 2005 10:11:33 +0000 (10:11 +0000)
perl/DXDupe.pm
perl/Spot.pm

index 3ccb23c89dd22df1b21369691cd2cf4950f8caf8..63fdcb2bb24534a41d7a970961b2edb34937f8d7 100644 (file)
@@ -54,7 +54,7 @@ sub check
 
 sub find
 {
-       return 1 if exists $d{$_[0]};
+       return $d{$_[0]};
 }
 
 sub add
index ef8d9ccde92d6643181a085824e89b052f75dc1c..5f8adf49a81f0e8fb00cebce06a15057b37b8ddb 100644 (file)
@@ -362,24 +362,24 @@ sub dup
        $freq = sprintf "%.1f", $freq;       # normalise frequency
        $call = substr($call, 0, 12) if length $call > 12;
 
-       # quick test now for simple case
-       my $sdupkey = "X$freq|$call|$d|$by";
-       return 1 if DXDupe::find($sdupkey);
-       
        chomp $text;
        $text =~ s/\%([0-9A-F][0-9A-F])/chr(hex($1))/eg;
        $text = substr($text, 0, $duplth) if length $text > $duplth; 
        unpad($text);
        $text = pack("C*", map {$_ & 127} unpack("C*", $text));
        $text =~ s/[^a-zA-Z0-9]//g;
-       for (-60, -120, -180, -240, 0, 60, 120, 180, 240, 300) {
-               my $dt = $d - $_;
-               my $ldupkey = "X$freq|$call|$dt|\L$text";
-               my $sdupkey = "X$freq|$call|$dt|$by";
-               return 1 if DXDupe::find($ldupkey) || DXDupe::find($sdupkey);
+       my $ldupkey = "X$freq|$call|\L$text";
+       my $sdupkey = "X$freq|$call|$by";
+       my $t = DXDupe::find($ldupkey);
+       if ($t) {       
+               my $dt = $main::systime + $dupage - $t;
+               return 1 if $dt < 300; 
+       }
+    $t = DXDupe::find($sdupkey);
+       if ($t) {       
+               my $dt = $main::systime + $dupage - $t;
+               return 1 if $dt < 300; 
        }
-       my $ldupkey = "X$freq|$call|$d|\L$text";
-       $sdupkey = "X$freq|$call|$d|$by";
        DXDupe::add($ldupkey, $main::systime+$dupage);
        DXDupe::add($sdupkey, $main::systime+$dupage);
        return 0;