fix the last 5 minute dups
[spider.git] / cmd / show / hftable.pl
index abd04b0065d165d17d15dbc38eca62ea29b85b68..c7fee473f02c897eecc4dab939f08b236f6931ac 100644 (file)
@@ -13,8 +13,14 @@ my $days = 31;
 my @dxcc;
 my $limit = 100;
 
-push @dxcc, (61..67) if $self->dxcc >= 61 && $self->dxcc < 67;
-push @dxcc, $self->dxcc unless @dxcc;
+if ($line) {
+       my @pref = split /[\s,]+/, $line;
+       push @dxcc, Prefix::to_ciz('nc', @pref);
+       return (1, $self->msg('e27', $line)) unless @dxcc;
+} else {
+       push @dxcc, (61..67) if $self->dxcc >= 61 && $self->dxcc < 67;
+       push @dxcc, $self->dxcc unless @dxcc;
+}
 
 my $now = Julian::Day->new(time())->sub(1);
 my %list;
@@ -34,7 +40,7 @@ for ($i = 0; $i < $days; $i++) {
                next unless grep $l[2] eq $_, @dxcc;
                my $ref = $list{$l[0]} || [0,0,0,0,0,0,0,0,0,0];
                my $j = 1;
-               foreach my $item (@l[3..11]) {
+               foreach my $item (@l[4..13]) {
                        $ref->[$j] += $item;
                        $ref->[0] += $item;
                        $j++;
@@ -48,14 +54,14 @@ my @out;
 my @tot;
 my $nocalls;
 
-push @out, $self->msg('stathft', join(',', @dxcc));
-push @out, sprintf "%10s|%4s|%4s|%4s|%4s|%4s|%4s|%4s|%4s|%4s|%4s|", qw(Callsign Tot 160m 80m 40m 30m 20m 17m 15m 12m 10m);
+push @out, $self->msg('stathft', join(',', @dxcc), cldate(time));
+push @out, sprintf "%10s|%4s|%4s|%4s|%4s|%4s|%4s|%4s|%4s|%4s|%4s|%4s", qw(Callsign Tot 160m 80m 60m 40m 30m 20m 17m 15m 12m 10m);
 
 for (sort {$list{$b}->[0] <=> $list{$a}->[0] || $a cmp $b} keys %list) {
        my $ref = $list{$_};
        $nocalls++;
        my @list = (sprintf "%10s", $_);
-       foreach my $j (0..10) {
+       foreach my $j (0..11) {
                my $r = $ref->[$j];
                if ($r) {
                        $tot[$j] += $r;