chiark
/
gitweb
/
~yarrgweb
/
ypp-sc-tools.db-test.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
efeac18
)
new --stdin-chart for testing yppedia-chart-parser
author
Ian Jackson
<ijackson@chiark.greenend.org.uk>
Tue, 1 Sep 2009 14:48:53 +0000
(15:48 +0100)
committer
Ian Jackson
<Ian.Jackson@eu.citrix.com>
Tue, 1 Sep 2009 14:48:53 +0000
(15:48 +0100)
yarrg/yppedia-chart-parser
patch
|
blob
|
history
diff --git
a/yarrg/yppedia-chart-parser
b/yarrg/yppedia-chart-parser
index 54a0e4577604592c6e365a1de0be7159c8446e08..44a143b50c662bb6a4cc7c76cff7b98c7f44bc8a 100755
(executable)
--- a/
yarrg/yppedia-chart-parser
+++ b/
yarrg/yppedia-chart-parser
@@
-73,17
+73,26
@@
sub print_messages () {
}
sub progress ($) { print "($_[0])\n"; }
}
sub progress ($) { print "($_[0])\n"; }
-if (@ARGV && $ARGV[0] eq '--debug') {
- shift @ARGV;
- open DEBUG, ">&STDOUT" or die $!;
- select(DEBUG); $|=1;
-} else {
- open DEBUG, ">/dev/null" or die $!;
+my $stdin_chart=0;
+
+open DEBUG, ">/dev/null" or die $!;
+
+while (@ARGV) {
+ last unless $ARGV[0] =~ m/^-/;
+ $_= shift @ARGV;
+ last if m/^--$/;
+ if ($_ eq '--debug') {
+ open DEBUG, ">&STDOUT" or die $!;
+ select(DEBUG); $|=1; select(STDOUT);
+ } elsif ($_ eq '--stdin-chart') {
+ $stdin_chart=1;
+ } else {
+ die;
+ }
}
}
-
select(STDOUT);
$|=1;
+$|=1;
@ARGV==1 or die;
@ARGV==1 or die;
-$ARGV[0] =~ m/^\-/ and die;
my $ocean= shift @ARGV;
my $ocean= shift @ARGV;
@@
-381,11
+390,13
@@
sub compare_island_lists () {
foreach my $island (sort keys %wiisland2node) {
my $wtarch= $wtisland2arch{$island};
my $wiarch= wiisland2arch($island);
foreach my $island (sort keys %wiisland2node) {
my $wtarch= $wtisland2arch{$island};
my $wiarch= wiisland2arch($island);
- if (!defined $wtarch) {
- error("island from chart not found on ocean page: $island");
- } elsif (defined $wiarch and $wtarch ne $wiarch) {
- error("island in $wtarch on ocean page but".
- " concluded $wiarch from chart: $island");
+ if (!$stdin_chart) {
+ if (!defined $wtarch) {
+ error("island from chart not found on ocean page: $island");
+ } elsif (defined $wiarch and $wtarch ne $wiarch) {
+ error("island in $wtarch on ocean page but".
+ " concluded $wiarch from chart: $island");
+ }
}
my $dbarch= $dbisland2arch{$island};
}
my $dbarch= $dbisland2arch{$island};
@@
-399,10
+410,12
@@
sub compare_island_lists () {
change("island new in $wiarch: $island");
}
}
change("island new in $wiarch: $island");
}
}
- foreach my $island (sort keys %wtisland2arch) {
- my $node= $wiisland2node{$island};
- next if defined $node;
- error("island on ocean page but not in chart: $island");
+ if (!$stdin_chart) {
+ foreach my $island (sort keys %wtisland2arch) {
+ my $node= $wiisland2node{$island};
+ next if defined $node;
+ error("island on ocean page but not in chart: $island");
+ }
}
}
}
}
@@
-546,9
+559,14
@@
sub yppedia_ocean_fetch_done () {
}
sub yppedia_ocean_fetch_chart () {
}
sub yppedia_ocean_fetch_chart () {
- yppedia_ocean_fetch_start(1);
- yppedia_chart_parse();
- yppedia_ocean_fetch_done();
+ if ($stdin_chart) {
+ open OCEAN, "<& STDIN" or die $!;
+ yppedia_chart_parse();
+ } else {
+ yppedia_ocean_fetch_start(1);
+ yppedia_chart_parse();
+ yppedia_ocean_fetch_done();
+ }
}
sub yppedia_ocean_fetch_text () {
}
sub yppedia_ocean_fetch_text () {
@@
-710,7
+728,10
@@
progress("computing shortest paths"); yppedia_graph_shortest_paths();
progress("setting archs from labels"); yppedia_archs_chart_labels();
progress("setting archs from nearby"); yppedia_archs_fillbynearest();
progress("computing yppedia spr"); yppedia_graph_spr();
progress("setting archs from labels"); yppedia_archs_chart_labels();
progress("setting archs from nearby"); yppedia_archs_fillbynearest();
progress("computing yppedia spr"); yppedia_graph_spr();
-progress("fetching yppedia ocean text"); yppedia_ocean_fetch_text();
+
+if (!$stdin_chart) {
+ progress("fetching yppedia ocean text"); yppedia_ocean_fetch_text();
+}
db_setocean($ocean);
db_connect();
db_setocean($ocean);
db_connect();
@@
-740,15
+761,24
@@
for (;;) {
if (!%msgkindprinted) {
progress("updating database"); database_do_updates();
progress("updating _ocean-*.txt"); localtopo_rewrite();
if (!%msgkindprinted) {
progress("updating database"); database_do_updates();
progress("updating _ocean-*.txt"); localtopo_rewrite();
+ if ($stdin_chart) {
+ print STDERR "*** --stdin-chart, aborting!\n";
+ exit 1;
+ }
progress("committing database"); $dbh->commit();
progress("committing _ocean-*.txt"); localtopo_commit();
exit 0;
}
$dbh->rollback();
progress("committing database"); $dbh->commit();
progress("committing _ocean-*.txt"); localtopo_commit();
exit 0;
}
$dbh->rollback();
-
+
my $default= !$msgkindprinted{'warning'};
printf STDERR "*** confirm update %s ? ", $default?'(y/n)':'(n/y)';
my $default= !$msgkindprinted{'warning'};
printf STDERR "*** confirm update %s ? ", $default?'(y/n)':'(n/y)';
+ if ($stdin_chart) {
+ printf STDERR "[--stdin-chart]\n";
+ exit 1;
+ }
+
$!=0; my $result= <STDIN>; defined $result or die $!;
$result =~ s/\s//g;
$result= $default?'y':'n' if !length $result;
$!=0; my $result= <STDIN>; defined $result or die $!;
$result =~ s/\s//g;
$result= $default?'y':'n' if !length $result;