X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2FGeomag.pm;h=6bc925b8bd3fa2bedd3f2af0f86ea4958a618a9b;hb=b9dffeff7239952814342dad19db3a51def6fab7;hp=e00dbd9e47a268b40f694ad0f6276c1c8f51b40c;hpb=f0910da57e166acb22e83de4e4b771d175074c80;p=spider.git diff --git a/perl/Geomag.pm b/perl/Geomag.pm index e00dbd9e..6bc925b8 100644 --- a/perl/Geomag.pm +++ b/perl/Geomag.pm @@ -19,6 +19,7 @@ use DXDebug; use DXDupe; use strict; + use vars qw($date $sfi $k $a $r $forecast @allowed @denied $fp $node $from $dirprefix $param $duplth $dupage $filterdef); @@ -42,15 +43,15 @@ $param = "$dirprefix/param"; $filterdef = bless ([ # tag, sort, field, priv, special parser - ['by', 'c', 7], - ['origin', 'c', 8], - ['channel', 'n', 9], - ['by_dxcc', 'n', 10], - ['by_itu', 'n', 11], - ['by_zone', 'n', 12], - ['origin_dxcc', 'c', 13], - ['origin_itu', 'c', 14], - ['origin_itu', 'c', 15], + ['by', 'c', 0], + ['origin', 'c', 1], + ['channel', 'c', 2], + ['by_dxcc', 'nc', 3], + ['by_itu', 'ni', 4], + ['by_zone', 'nz', 5], + ['origin_dxcc', 'nc', 6], + ['origin_itu', 'ni', 7], + ['origin_zone', 'nz', 8], ], 'Filter::Cmd'); sub init @@ -85,12 +86,13 @@ sub store sub update { my ($mydate, $mytime, $mysfi, $mya, $myk, $myforecast, $myfrom, $mynode, $myr) = @_; - if ((@allowed && grep {$_ eq $from} @allowed) || - (@denied && !grep {$_ eq $from} @denied) || + $myfrom =~ s/-\d+$//; + if ((@allowed && grep {$_ eq $myfrom} @allowed) || + (@denied && !grep {$_ eq $myfrom} @denied) || (@allowed == 0 && @denied == 0)) { # my $trydate = cltounix($mydate, sprintf("%02d18Z", $mytime)); - if ($mydate >= $date) { + if ($mydate > $date) { if ($myr) { $r = 0 + $myr; } else { @@ -260,12 +262,12 @@ sub readfile # enter the spot for dup checking and return true if it is already a dup sub dup { - my ($d, $sfi, $k, $a, $text) = @_; + my ($d, $sfi, $k, $a, $text, $call) = @_; # dump if too old return 2 if $d < $main::systime - $dupage; - my $dupkey = "W$d|$sfi|$k|$a"; + my $dupkey = "W$d|$sfi|$k|$a|$call"; return DXDupe::check($dupkey, $main::systime+$dupage); }