chiark / gitweb /
chart scraper: cope with ocean difficulty annotations
[ypp-sc-tools.db-test.git] / yarrg / database-info-fetch
index c56fda4..041e008 100755 (executable)
@@ -25,7 +25,6 @@
 # sponsored by Three Rings.
 
 use strict (qw(vars));
-use LWP::UserAgent;
 use JSON;
 #use Data::Dumper;
 use IO::File;
@@ -38,7 +37,7 @@ our ($which) = shift @ARGV;
 $which =~ s/\W//g;
 
 our ($pctb) = $ENV{'YPPSC_YARRG_PCTB'};
-our ($ua)= LWP::UserAgent->new;
+our ($ua)= http_useragent("database_info_fetch $which");
 our $jsonresp;
 
 sub jparsetable ($$) {
@@ -159,7 +158,7 @@ sub main__comparesources () {
                sub { });
     for_commods(sub {
                    my ($commod)= @_;
-                   my $srcs= $commods{$commod};
+                   my $srcs= $commods{$commod}{Srcs};
                    compare_sources_one($srcs, "commodity $commod");
                });
 }
@@ -167,8 +166,8 @@ sub main__comparesources () {
 sub main__island () {
     my $ocean= get_ocean();
     
-    parse_info_clientside();
-    get_arches_islands_pctb($ocean);
+    parse_info_clientside() if $ENV{'YPPSC_YARRG_YARRG'};
+    get_arches_islands_pctb($ocean) if $pctb;
 
     for_islands($ocean,
                sub {
@@ -184,6 +183,23 @@ sub main__island () {
                });
 }
 
+sub main__timestamp () {
+    my %o;
+    $o{'requesttimestamp'}= '1';
+    my $respcontent= yarrgpostform($ua, \%o);
+    $respcontent =~ m/^OK ([1-9]\d{1,20})\./ or die "$respcontent ?";
+    print "$1\n";
+    exit(0);
+}
+
+sub main__yarrgversion () {
+    printf "%s\n", version_core();
+}
+
+sub main__useragentstringmap ($$) {
+    printf "%s\n", http_useragent_string_map($_[0], $_[1]);
+}
+
 sub main__sunshinewidget () {
     print <<END
 Land {On land} {