X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;ds=sidebyside;f=perl%2FSpot.pm;h=056fd628557a1947706598f54f958358ef5807fb;hb=d41556c82d7af6d68d9d659bd486be775f82295d;hp=f4b5f3cd9e7b55c56acb532797aa631cc4b0ee06;hpb=7e3729a9039462c460dae4804f40c0bd506f3423;p=spider.git diff --git a/perl/Spot.pm b/perl/Spot.pm index f4b5f3cd..056fd628 100644 --- a/perl/Spot.pm +++ b/perl/Spot.pm @@ -73,7 +73,7 @@ our %spotcache; # the cache of data within the last $spotcachedays 0 or 2+ d our $spotcachedays = 2; # default 2 days worth our $minselfspotqrg = 1240000; # minimum freq above which self spotting is allowed -our $readback = 1; +our $readback = $main::is_win ? 0 : 1; if ($readback) { $readback = `which tac`; @@ -476,12 +476,12 @@ sub formatl # enter the spot for dup checking and return true if it is already a dup sub dup { - my ($freq, $call, $d, $text, $by, $node) = @_; + my ($freq, $call, $d, $text, $by, $node, $just_find) = @_; # dump if too old return 2 if $d < $main::systime - $dupage; - - # turn the time into minutes (should be already but...) + + # turn the time into minutes (should be already but...) $d = int ($d / 60); $d *= 60; @@ -502,31 +502,37 @@ sub dup $text =~ s/[\W\x00-\x2F\x7B-\xFF]//g; # tautology, just to make quite sure! $text = substr($text, 0, $duplth) if length $text > $duplth; my $ldupkey = "X$|$call|$by|$node|$freq|$d|$text"; + my $t = DXDupe::find($ldupkey); return 1 if $t && $t - $main::systime > 0; - DXDupe::add($ldupkey, $main::systime+$dupage); + DXDupe::add($ldupkey, $main::systime+$dupage) unless $just_find; $otext = substr($otext, 0, $duplth) if length $otext > $duplth; $otext =~ s/\s+$//; if (length $otext && $otext ne $text) { $ldupkey = "X$freq|$call|$by|$otext"; $t = DXDupe::find($ldupkey); return 1 if $t && $t - $main::systime > 0; - DXDupe::add($ldupkey, $main::systime+$dupage); + DXDupe::add($ldupkey, $main::systime+$dupage) unless $just_find; } return undef; } +sub dup_find +{ + return dup(@_, 1); +} + sub listdups { return DXDupe::listdups('X', $dupage, @_); } -sub genstats($) +sub genstats { my $date = shift; - my $in = $fp->open($date); - my $out = $statp->open($date, 'w'); + my $in = $fp->open($date) or dbg("Spot::genstats: Cannot open " . $fp->fn($date) . " $!"); + my $out = $statp->open($date, 'w') or dbg("Spot::genstats: Cannot open " . $statp->fn($date) . " $!"); my @freq; my %list; my @tot; @@ -569,7 +575,7 @@ sub genstats($) } # return true if the stat file is newer than than the spot file -sub checkstats($) +sub checkstats { my $date = shift; my $in = $fp->mtime($date);