X-Git-Url: http://dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fwcy.pl;h=705c2159f2ca8f0bda72657d0d937b683a1e3989;hb=eac4538f1f78b3d014539dc548fc6322e8337429;hp=c874b2e245b612e588cb86ed7633bcf44664db7e;hpb=6a510dc82f3050640dfe6b8d499995348075fe7a;p=spider.git diff --git a/cmd/wcy.pl b/cmd/wcy.pl index c874b2e2..705c2159 100644 --- a/cmd/wcy.pl +++ b/cmd/wcy.pl @@ -22,7 +22,7 @@ # # Copyright (c) 2001 Dirk Koopman G1TLH # -# $Id$ +# # my ($self, $line) = @_; my $call = $self->call; @@ -35,17 +35,18 @@ my $hour = (gmtime $main::systime)[2]; my $d = int ($main::systime / 3600) * 3600 + 18 * 60; # make a hash out of the args +$line = unpad($line); my %args = map {split /\s*=\s*/} split /\s*,\s*/, lc $line; # check the ranges of each one -push @out, $self->msg('wcy1', 'k') unless $args{k} && $args{k} >= 0 && $args{k} <= 9; -push @out, $self->msg('wcy1', 'espk') unless $args{expk} && $args{expk} >= 0 && $args{expk} <= 9; -push @out, $self->msg('wcy1', 'a') unless $args{a} && $args{a} >= 0 && $args{a} <= 400; -push @out, $self->msg('wcy1', 'r') unless $args{r} && $args{r} >= 0 && $args{r} <= 300; -push @out, $self->msg('wcy1', 'sf') unless $args{sf} && $args{sf} >= 65 && $args{sf} <= 300; -push @out, $self->msg('wcy1', 'sa') unless $args{sa} && grep $args{sa} eq $_, qw(qui eru act maj pro war nil); -push @out, $self->msg('wcy1', 'gmf') unless $args{gmf} && grep $args{gmf} eq $_, qw(qui act min maj sev mag war nil); -push @out, $self->msg('wcy1', 'au') unless $args{au} && grep $args{au} eq $_, qw(no aurora strong); +push @out, $self->msg('wcy1', 'k') unless defined $args{k} && $args{k} >= 0 && $args{k} <= 9; +push @out, $self->msg('wcy1', 'espk') unless defined $args{expk} && $args{expk} >= 0 && $args{expk} <= 9; +push @out, $self->msg('wcy1', 'a') unless defined $args{a} && $args{a} >= 0 && $args{a} <= 400; +push @out, $self->msg('wcy1', 'r') unless defined $args{r} && $args{r} >= 0 && $args{r} <= 500; +push @out, $self->msg('wcy1', 'sf') unless defined $args{sf} && $args{sf} >= 65 && $args{sf} <= 300; +push @out, $self->msg('wcy1', 'sa') unless defined $args{sa} && grep $args{sa} eq $_, qw(qui eru act maj pro war nil); +push @out, $self->msg('wcy1', 'gmf') unless defined $args{gmf} && grep $args{gmf} eq $_, qw(qui act min maj sev mag war nil); +push @out, $self->msg('wcy1', 'au') unless defined $args{au} && grep $args{au} eq $_, qw(no aurora strong); push @out, $self->msg('wcy2') if WCY::dup($d); #$DB::single=1; @@ -60,7 +61,7 @@ my $today = cldate($main::systime); # 14-Dec-2001 15 220 3 1 0 212 act qui no my @field = ('PC73',$today,$hour,$args{sf},$args{a},$args{k},$args{expk},$args{r},$args{sa},$args{gmf},$args{au}, $self->call ,$main::mycall, 'H99'); -my $s = join('^', @field) . '^'; +my $s = sprintf "%s^%s^%02d^%3d^%3d^%2d^%2d^%3d^%s^%s^%s^%s^%s^%s^", @field; WCY::update($d, @field[2..12]); DXProt::send_wcy_spot($self, $s, $d, @field[2..12]); $self->wcy($s, 0, @field[1..12]);