chiark / gitweb /
WIP commod-update-receiver; before make parse_parser into library
[ypp-sc-tools.main.git] / pctb / database-info-fetch
index 8b464a125b9026f01eb0468fe2cac3a34ba8ace2..0752ae0853d7898707e449e18d98cba33f1378b1 100755 (executable)
 use strict (qw(vars));
 use LWP::UserAgent;
 use JSON;
-use Data::Dumper;
+#use Data::Dumper;
 use IO::File;
 
-@ARGV==1 or die "You probably don't want to run this program directly.\n";
+@ARGV>=1 or die "You probably don't want to run this program directly.\n";
 our ($which) = shift @ARGV;
 
 $which =~ s/\W//g;
 
-our ($pctb) = $ENV{'YPPSC_PCTB_PCTB'};  die unless $pctb;
+our ($pctb) = $ENV{'YPPSC_PCTB_PCTB'};
 our ($ua)= LWP::UserAgent->new;
 our $jsonresp;
 
@@ -83,7 +83,7 @@ BEGIN {
        close $mm or die $!;
 
 #print Dumper(\%oceans);
-print Dumper(\@rawcm);
+#print Dumper(\@rawcm);
        
        %commods= ();
        my $ca;
@@ -147,6 +147,7 @@ sub json_convert_shim ($) {
 
 sub get_arches_islands_pctb ($) {
     my ($ocean)= @_;
+    die unless $pctb;
     my $url= "$pctb/islands.php?oceanName=".uc $ocean;
     my $resp= $ua->get($url);
     die $resp->status_line unless $resp->is_success;
@@ -256,6 +257,28 @@ sub main__island () {
                });
 }
 
+sub main__allowablecommods ($$) {
+    my ($ocean,$island) = @_;
+    parse_masters();
+    my $arches= $oceans{$ocean};
+    if (!$arches) { print "unknown ocean\n"; exit 1; }
+    my $found= 0;
+    foreach my $islands (values %$arches) {
+       my $sources= $islands->{$island};
+       next unless $sources;
+       die if $found;
+       $found= $sources;
+    }
+    if (!$found) { print "unknown island\n"; exit 1; }
+
+    print "\n";
+    foreach my $commod (sort keys %commods) {
+       print "$commod\n";
+    }
+    STDOUT->error and die $!;
+    close STDOUT or die $!;
+}
+
 sub main__sunshinewidget () {
     print <<END
 Land {On land} {
@@ -276,4 +299,4 @@ END
     or die $!;
 }
 
-&{"main__$which"}();
+&{"main__$which"}(@ARGV);