From 2059db0d5a99c9759cc25deab053a7213d396c04 Mon Sep 17 00:00:00 2001 From: Ian Jackson Date: Tue, 1 Sep 2009 00:07:24 +0100 Subject: [PATCH] chart-parser updates things --- yarrg/yppedia-chart-parser | 35 +++++++++++++++++++++++++++++++++-- 1 file changed, 33 insertions(+), 2 deletions(-) diff --git a/yarrg/yppedia-chart-parser b/yarrg/yppedia-chart-parser index c7db12e..228d1e2 100755 --- a/yarrg/yppedia-chart-parser +++ b/yarrg/yppedia-chart-parser @@ -649,8 +649,11 @@ END END ; foreach my $ia (sort keys %wiisland2node) { + my $na= $wiisland2node{$ia}; foreach my $ib (sort keys %wiisland2node) { - my $apdist= widist($ia,$ib); + my $nb= $wiisland2node{$ib}; + my $apdist= $ia eq $ib ? 0 : widist($na,$nb); + die "$ia $ib" unless defined $apdist; my $sprdist= $wispr->get_edge_weight($ia,$ib); die "$ia $ib $apdist $sprdist" if defined($sprdist) && $sprdist != $apdist; @@ -660,10 +663,38 @@ END } } - # select ia.islandname, ib.islandname,dists.dist from dists, islands as ia on dists.aiid = ia.islandid, islands as ib on dists.biid = ib.islandid order by ia.islandname, ib.islandname; + # select ia.islandname, ib.islandname, d.dist from dists as d, islands as ia on d.aiid = ia.islandid, islands as ib on d.biid = ib.islandid order by ia.islandname, ib.islandname; } +#========== update _ocean-*.txt ========== + +our $localtopo_path; + +sub localtopo_rewrite () { + $localtopo_path= '_ocean-'.(lc $ocean).'.txt'; + my $fh= new IO::File "$localtopo_path.tmp", 'w'; + print $fh "# autogenerated - do not edit\n" or die $!; + print $fh "ocean $ocean\n" or die $!; + my %arches; + foreach my $isle (sort keys %wtisland2arch) { + my $arch= $wtisland2arch{$isle}; + push @{ $arches{$arch} }, $isle; + } + foreach my $arch (sort keys %arches) { + print $fh " $arch\n" or die $!; + foreach my $isle (@{ $arches{$arch} }) { + print $fh " $isle\n" or die $!; + } + } + print $fh "\n" or die $!; + close $fh or die $!; +} + +sub localtopo_commit () { + rename "$localtopo_path.tmp", $localtopo_path or die $!; +} + #========== main program ========== parse_info_serverside(); -- 2.30.2