From e0e0711ed505eb9de89ac5a26848b30785e58816 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Wed, 14 Oct 2009 23:34:45 +0100 Subject: [PATCH] routesearch: parse output in query_routesearch --- yarrg/rsmain.c | 4 ++-- yarrg/web/query_routesearch | 32 +++++++++++++++++++++++++++++++- 2 files changed, 33 insertions(+), 3 deletions(-) diff --git a/yarrg/rsmain.c b/yarrg/rsmain.c index dd3748f..eaa16c5 100644 --- a/yarrg/rsmain.c +++ b/yarrg/rsmain.c @@ -181,8 +181,8 @@ int main(int argc, const char **argv) { int midisle= ports[nports/2]; int midarch= route2midarch(ports,nports); fprintf(output, - " @%2d #%2d | start%3d mid%d:%3d f%d:%3d | %5d %5d %4d |", - pos, nhighscores[granui][ap] - 1 - pos, + " @%2d %c#%2d | start%3d mid%d:%3d f%d:%3d | %5d %5d %4d |", + pos, "ap"[ap], nhighscores[granui][ap] - 1 - pos, ports[0], midarch,midisle, finarch,finisle, (int)hs->value, (int)pr->value[A], (int)pr->value[P]); for (i=0; i \$emsg, SayRequiredCapacity => 1 }; my $maxdist; +my $maxcountea=10; @@ -112,7 +113,7 @@ foreach my $k (qw(MaxMass MaxVolume MaxCapital)) { } push @rsargs, defined $routeparams->{LossPerLeaguePct} ? $routeparams->{LossPerLeaguePct}*0.01 : 1e-9; -push @rsargs, qw(search 10 10), $maxdist, 'any', @islandids; +push @rsargs, 'search', $maxcountea,$maxcountea, $maxdist, 'any', @islandids; m/[^-.0-9a-zA-Z]/ and die "$_ $& ?" foreach @rsargs; @@ -127,6 +128,8 @@ if ($qa->{'debug'}) { unshift @rsargs, sourcebasedir().'/yarrg/routesearch'; +my %results; # $results{$ap}{"5 6 9 10"} = { stuff } + my $fh= new IO::File; my $child= $fh->open("-|"); defined $child or die $!; if (!$child) { @@ -145,10 +148,37 @@ while (<$fh>) { <% $_ |h %> <%perl> } + next unless + m/^ \@ *\d+ ([ap])\# *\d+ \|.*\| *\d+ +(\d+) +(\d+) *\| ([0-9 ]+)$/; + my ($ap,$isles) = (uc $1,$4); + next if $results{$ap} && %{$results{$ap}} >= $maxcountea; + my $item= { A => $2, P => $3 }; +# my @isles= map { @islenames[$_] }, split / /, @isles; + $results{$ap}{$isles}= $item; } if ($qa->{'debug'}) { print "\n"; } + +% foreach my $ap (qw(A P)) { +

ap=<% $ap %>

+ +% foreach my $isles (sort { +% $results{$ap}{$a}{Values}{$ap} <=> +% $results{$ap}{$b}{Values}{$ap} +% } keys %{$results{$ap}}) { +% my $item= $results{$ap}{$isles}; + + +% } # $isles +
<% $item->{A} |h %> +<% $item->{P} |h %> +<% $isles |h %> +
+% } # $ap +<%perl> + + -- 2.30.2