X-Git-Url: http://www.dxcluster.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=cmd%2Fshow%2Fsun.pl;h=1e9b9b06f84716ffc75aa0167057f414ca04dd20;hb=6ea05be3ca5b4857bb319782c408d5784658ec20;hp=5104e2276035d73d0b13a0f452aee701d89a7b09;hpb=89ab02190d47c949e48b303260055f00591e3cdd;p=spider.git diff --git a/cmd/show/sun.pl b/cmd/show/sun.pl index 5104e227..1e9b9b06 100644 --- a/cmd/show/sun.pl +++ b/cmd/show/sun.pl @@ -15,21 +15,41 @@ my ($sec, $min, $hr, $day, $month, $yr) = (gmtime($main::systime))[0,1,2,3,4,5]; $month++; $yr += 1900; -foreach $l (@list) { - # prefixes ---> - my @ans = Prefix::extract($l); - next if !@ans; - my $pre = shift @ans; - my $a; - foreach $a (@ans) { - $lat = $a->{lat}; - $lon = $a->{long}; - $lat *= $d2r; - $lon *= -$d2r; - my $string=Sun::riseset($yr,$month,$day,$lat,$lon); - push @out,sprintf("%-2s %s %s",$pre,$a->name(),$string); - $l=""; +my @in; + +if (@list) { + foreach $l (@list) { + my $user = DXUser->get_current(uc $l); + if ($user && $user->lat && $user->long) { + push @in, [$user->qth, $user->lat * $d2r, $user->long * -$d2r, uc $l ]; + } else { + # prefixes ---> + my @ans = Prefix::extract($l); + next if !@ans; + my $pre = shift @ans; + my $a; + foreach $a (@ans) { + $lat = $a->{lat}; + $lon = $a->{long}; + $lat *= $d2r; + $lon *= -$d2r; + push @in, [ $a->name, $lat, $lon, $pre ]; + } + } + } +} else { + if ($self->user->lat && $self->user->long) { + push @in, [$self->user->qth, $self->user->lat * $d2r, $self->user->long * -$d2r, $self->call ]; + } else { + push @in, [$main::myqth, $main::mylatitude * $d2r, $main::mylogitude * -$d2r, $main::mycall ]; } } +foreach $l (@in) { + my $string=Sun::riseset($yr,$month,$day,$l->[1],$l->[2]); + push @out,sprintf("%-2s %s %s",$l->[3],$l->[0],$string); +} + + + return (1, @out);