change interface to Route::findroutes
[spider.git] / cmd / show / route.pl
1 #
2 # show the routing to a node or station
3 #
4 # Copyright (c) 2001 Dirk Koopman G1TLH
5 #
6 #
7 #
8
9 my ($self, $line) = @_;
10 my @list = map { uc } split /\s+/, $line;           # list of callsigns of nodes
11 my @out;
12
13 return (1, $self->msg('e6')) unless @list;
14
15 my $l;
16 foreach $l (@list) {
17         my $ref = Route::get($l);
18         if ($ref) {
19                 my $parents = $ref->isa('Route::Node') ? $l : join(',', $ref->parents);
20                 my @n = map { $_->[1]->call . '(' .  (100 - $_->[0]) . ')' } Route::findroutes($l);
21                 @n = @n[0,1,2,3],'...' if @n > 4;
22                 push @out, $self->msg('route', $l, $parents,  join(',', @n));
23         } else {
24                 push @out, $self->msg('e7', $l);
25         }
26 }
27
28 return (1, @out);