1. added export_user.pl to export user files (for interest and safety)
[spider.git] / perl / Spot.pm
index 5831e9b31d974ec2ad3c9e14d560b3c42fc34e99..c2917e2e69b52194afa4fa91374835daa855b96c 100644 (file)
@@ -41,25 +41,35 @@ sub prefix
 sub add
 {
        my @spot = @_;                          # $freq, $call, $t, $comment, $spotter = @_
-
+       my @out = @spot[0..4];      # just up to the spotter
+       
        # sure that the numeric things are numeric now (saves time later)
        $spot[0] = 0 + $spot[0];
        $spot[2] = 0 + $spot[2];
   
-       # remove ssid if present on spotter
-       $spot[4] =~ s/-\d+$//o;
-
-       # add the 'dxcc' country on the end
-       my @dxcc = Prefix::extract($spot[1]);
-       push @spot, (@dxcc > 0 ) ? $dxcc[1]->dxcc() : 0;
-
-       my $buf = join("\^", @spot);
+       # remove ssids if present on spotter
+       $out[4] =~ s/-\d+$//o;
+
+       # add the 'dxcc' country on the end for both spotted and spotter, then the cluster call
+       my @dxcc = Prefix::extract($out[1]);
+       my $spotted_dxcc = (@dxcc > 0 ) ? $dxcc[1]->dxcc() : 0;
+       my $spotted_itu = (@dxcc > 0 ) ? $dxcc[1]->itu() : 0;
+       my $spotted_cq = (@dxcc > 0 ) ? $dxcc[1]->cq() : 0;
+       push @out, $spotted_dxcc;
+       @dxcc = Prefix::extract($out[4]);
+       my $spotter_dxcc = (@dxcc > 0 ) ? $dxcc[1]->dxcc() : 0;
+       my $spotter_itu = (@dxcc > 0 ) ? $dxcc[1]->itu() : 0;
+       my $spotter_cq = (@dxcc > 0 ) ? $dxcc[1]->cq() : 0;
+       push @out, $spotter_dxcc;
+       push @out, $spot[5];
+       
+       my $buf = join("\^", @out);
 
        # compare dates to see whether need to open another save file (remember, redefining $fp 
        # automagically closes the output file (if any)). 
-       $fp->writeunix($spot[2], $buf);
+       $fp->writeunix($out[2], $buf);
   
-       return $buf;
+       return ($buf, $spotted_itu, $spotted_cq, $spotter_itu, $spotter_cq);
 }
 
 # search the spot database for records based on the field no and an expression
@@ -127,7 +137,6 @@ sub search
 
        $fp->close;                                     # close any open files
 
- LOOP:
        for ($i = 0; $i < $maxdays; ++$i) {     # look thru $maxdays worth of files only
                my @now = Julian::sub(@fromdate, $i); # but you can pick which $maxdays worth
                last if Julian::cmp(@now, @todate) <= 0;