From: Ian Jackson Date: Sat, 8 Aug 2009 14:16:11 +0000 (+0100) Subject: Merge branch 'master' of ijackson@chiark.greenend.org.uk:things/ypp-sc-tools.pctb... X-Git-Tag: 3.0~6 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?a=commitdiff_plain;h=529cee5b3dbcb935efd0f0d78a60589201c01eb0;hp=92170cde9096ae5d8c0adb71bf1c47d05c7d34bb;p=ypp-sc-tools.db-live.git Merge branch 'master' of ijackson@chiark.greenend.org.uk:things/ypp-sc-tools.pctb-dict-test into ourdb --- diff --git a/yarrg/Commods.pm b/yarrg/Commods.pm index b670f58..5003037 100644 --- a/yarrg/Commods.pm +++ b/yarrg/Commods.pm @@ -23,6 +23,7 @@ package Commods; use IO::File; use HTTP::Request::Common (); +use POSIX; use strict; use warnings; @@ -32,7 +33,7 @@ BEGIN { our ($VERSION, @ISA, @EXPORT, @EXPORT_OK, %EXPORT_TAGS); $VERSION = 1.00; @ISA = qw(Exporter); - @EXPORT = qw(&parse_info_clientside + @EXPORT = qw(&parse_info_clientside &fetch_with_rsync &parse_info_serverside &parse_info_serverside_ocean %oceans %commods %clients %routes %route_mysteries &parse_pctb_commodmap %pctb_commodmap @pctb_commodmap @@ -144,7 +145,12 @@ sub parse_info_clientside () { return unless $yarrg; my $master= fetch_with_rsync('info'); parse_info1($master,'s'); - parse_info1('_local-info.txt','s'); + my $local= '_local-info.txt'; + if (stat $local) { + parse_info1($local,'s'); + } else { + die "$local $!" unless $! == &ENOENT; + } } sub fetch_with_rsync ($) { @@ -160,6 +166,7 @@ sub fetch_with_rsync ($) { $!=0; system 'rsync','-Lt','--',$remote,$local; die "$? $!" if $! or $?; } + return $local; } sub parse_info_maproutes ($$$) { @@ -256,7 +263,8 @@ sub yarrgpostform ($$) { my ($ua, $form) = @_; my $dest= $ENV{'YPPSC_YARRG_YARRG'}; get_our_version($form, 'client'); - return cgipostform($ua, "$dest/commod-update-receiver", $form); + die unless $dest =~ m,/$,; + return cgipostform($ua, "${dest}commod-update-receiver", $form); } sub cgipostform ($$$) { @@ -290,7 +298,7 @@ sub cgipostform ($$$) { $out =~ m,^Content-Type: text/plain.*\n\n, or die "$out ?"; return $'; } else { - my $resp= $ua->request($url,$req); + my $resp= $ua->request($req); die $resp->status_line unless $resp->is_success; return $resp->content(); } diff --git a/yarrg/commod-results-processor b/yarrg/commod-results-processor index e53bbb5..f9fdedf 100755 --- a/yarrg/commod-results-processor +++ b/yarrg/commod-results-processor @@ -135,10 +135,12 @@ sub main__arbitrage () { sub arb_subtract_qty (\@) { my ($verbs) = @_; my $verb= shift @$verbs; + my $vqty= $verb->{Qty}; + $vqty =~ s/^\>//; unshift @$verbs, { Stall => $verb->{Stall}, Price => $verb->{Price}, - Qty => $verb->{Qty} - $qty + Qty => $vqty - $qty }; } arb_subtract_qty(@buys); diff --git a/yarrg/convert.c b/yarrg/convert.c index 49fc3ed..adccb1c 100644 --- a/yarrg/convert.c +++ b/yarrg/convert.c @@ -117,9 +117,9 @@ static void run_analysis(void) { } waitpid_check_exitstatus(processor, "output processor/uploader", 0); - fclose(tf); } + fclose(tf); progress_log("all complete."); } @@ -336,8 +336,8 @@ int main(int argc, char **argv) { o_serv_pctb, o_flags & ff_use_pctb); set_server("YPPSC_YARRG_DICT_UPDATE", - "rsync://", "rsync.yarrg.chiark.net/pctb", - "rsync.yarrg.chiark.net/pctb/test", + "rsync://", "rsync.yarrg.chiark.net/yarrg", + "rsync.yarrg.chiark.net/yarrg/test", o_serv_dict_fetch, o_flags & ff_dict_fetch); set_server("YPPSC_YARRG_DICT_SUBMIT",