get all the debugging finally into the debug files when things go wrong
[spider.git] / perl / Spot.pm
index 3bc643cbb668b89c3340acaba70104e108ca655d..362e7d5e5252d7f1502def06db8aa5a2a630bc6c 100644 (file)
@@ -8,14 +8,13 @@
 
 package Spot;
 
-use FileHandle;
+use IO::File;
 use DXVars;
 use DXDebug;
 use DXUtil;
 use DXLog;
 use Julian;
 use Prefix;
-use Carp;
 
 use strict;
 use vars qw($fp $maxspots $defaultspots $maxdays $dirprefix);
@@ -29,7 +28,7 @@ $dirprefix = "spots";
 sub init
 {
        mkdir "$dirprefix", 0777 if !-e "$dirprefix";
-       $fp = DXLog::new($dirprefix, "dat", 'd')
+       $fp = DXLog::new($dirprefix, "dat", 'd');
 }
 
 sub prefix
@@ -52,9 +51,15 @@ sub add
 
        # add the 'dxcc' country on the end for both spotted and spotter, then the cluster call
        my @dxcc = Prefix::extract($out[1]);
-       push @out, (@dxcc > 0 ) ? $dxcc[1]->dxcc() : 0;
+       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]);
-       push @out, (@dxcc > 0 ) ? $dxcc[1]->dxcc() : 0;
+       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);
@@ -63,7 +68,7 @@ sub add
        # automagically closes the output file (if any)). 
        $fp->writeunix($out[2], $buf);
   
-       return $buf;
+       return (@out, $spotted_itu, $spotted_cq, $spotter_itu, $spotter_cq);
 }
 
 # search the spot database for records based on the field no and an expression
@@ -77,7 +82,10 @@ sub add
 #   $f2 = date in unix format
 #   $f3 = comment
 #   $f4 = spotter
-#   $f5 = dxcc country
+#   $f5 = spotted dxcc country
+#   $f6 = spotter dxcc country
+#   $f7 = origin
+#
 #
 # In addition you can specify a range of days, this means that it will start searching
 # from <n> days less than today to <m> days less than today
@@ -96,7 +104,7 @@ sub search
        my $ref;
        my $i;
        my $count;
-       my @today = Julian::unixtoj(time);
+       my @today = Julian::unixtoj(time());
        my @fromdate;
        my @todate;
 
@@ -131,7 +139,7 @@ sub search
 
        $fp->close;                                     # close any open files
 
-       for ($i = 0; $i < $maxdays; ++$i) {     # look thru $maxdays worth of files only
+       for ($i = $count = 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;