1. did some work on making talk more intelligent and fixed a>b problem.
[spider.git] / perl / Spot.pm
index 420025e6ed8f0d1445f5fd8ec5cfc85e1ce9a275..ae773e12f53cd5dfc34c1574603e28ba452e52c5 100644 (file)
@@ -43,14 +43,14 @@ $filterdef = bless ([
                          ['call', 'c', 1],
                          ['info', 't', 3],
                          ['by', 'c', 4],
-                         ['call_dxcc', 'n', 5],
-                         ['by_dxcc', 'n', 6],
+                         ['call_dxcc', 'nc', 5],
+                         ['by_dxcc', 'nc', 6],
                          ['origin', 'c', 7, 9],
-                         ['call_itu', 'n', 8],
-                         ['call_zone', 'n', 9],
-                         ['by_itu', 'n', 10],
-                         ['by_zone', 'n', 11],
-                         ['channel', 'n', 12, 9],
+                         ['call_itu', 'ni', 8],
+                         ['call_zone', 'nz', 9],
+                         ['by_itu', 'ni', 10],
+                         ['by_zone', 'nz', 11],
+                         ['channel', 'c', 12],
                         ], 'Filter::Cmd');
 
 
@@ -97,7 +97,8 @@ sub init
 {
        mkdir "$dirprefix", 0777 if !-e "$dirprefix";
        $fp = DXLog::new($dirprefix, "dat", 'd');
-       $statp = DXLog::new($dirprefix, "bys", 'd');
+       $statp = DXLog::new($dirprefix, "cys", 'd');
+       system("rm -f $main::data/$dirprefix/2001/*.bys");
 }
 
 sub prefix
@@ -122,12 +123,12 @@ sub prepare
        
        # 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_dxcc = (@dxcc > 0 ) ? $dxcc[1]->dxcc() : 666;
        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_dxcc = (@dxcc > 0 ) ? $dxcc[1]->dxcc() : 666;
        my $spotter_itu = (@dxcc > 0 ) ? $dxcc[1]->itu() : 0;
        my $spotter_cq = (@dxcc > 0 ) ? $dxcc[1]->cq() : 0;
        push @out, $spotter_dxcc;
@@ -250,7 +251,7 @@ sub ftor
        while (@b) {
                my $aa = shift @a;
                my $bb = shift @b;
-               if (@b < (length $d) - 1) {
+               if (@b < (length $d)) {
                        $out .= '\\d';
                } elsif ($aa eq $bb) {
                        $out .= $aa;
@@ -349,13 +350,15 @@ sub genstats($)
                                [9, Bands::get_freq('6m')],
                                [10, Bands::get_freq('4m')],
                                [11, Bands::get_freq('2m')],
-                               [12, Bands::get_freq('70cm')],
-                               [13, Bands::get_freq('13cm')],
-                               [14, Bands::get_freq('9cm')],
-                               [15, Bands::get_freq('6cm')],
-                               [16, Bands::get_freq('3cm')],
-                               [17, Bands::get_freq('12mm')],
-                               [18, Bands::get_freq('6cm')],
+                               [12, Bands::get_freq('220')],
+                               [13, Bands::get_freq('70cm')],
+                               [14, Bands::get_freq('23cm')],
+                               [15, Bands::get_freq('13cm')],
+                               [16, Bands::get_freq('9cm')],
+                               [17, Bands::get_freq('6cm')],
+                               [18, Bands::get_freq('3cm')],
+                               [19, Bands::get_freq('12mm')],
+                               [20, Bands::get_freq('6cm')],
                           );
        my %list;
        my @tot;
@@ -381,7 +384,7 @@ sub genstats($)
                for ($i = 0; $i < @freq+2; $i++) {
                        $tot[$i] ||= 0;
                }
-               $out->write(join('^', 'TOTALS', @tot) . "\n");
+               $statp->write($date, join('^', 'TOTALS', @tot));
 
                for (sort {$list{$b}->[0] <=> $list{$a}->[0]} keys %list) {
                        my $ref = $list{$_};
@@ -389,9 +392,9 @@ sub genstats($)
                        for ($i = 0; $i < @freq+2; ++$i) {
                                $ref->[$i] ||= 0;
                        }
-                       $out->write(join('^', $call, @$ref) . "\n");
+                       $statp->write($date, join('^', $call, @$ref));
                }
-               $out->close;
+               $statp->close;
        }
 }