X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~yarrgweb/git?p=ypp-sc-tools.db-live.git;a=blobdiff_plain;f=yarrg%2Fweb%2Flookup;h=0b6466e3f6a4fc53a61fc4202643fddc67f3b438;hp=1b85ecc8b9d06b9dc5ba96b14b63e4cac99501c0;hb=608bc9e07b5c8a961325fd1b8d5b92f65418b949;hpb=72587d0d7358ca77ecd0ede859abba7f89b1d9d2 diff --git a/yarrg/web/lookup b/yarrg/web/lookup index 1b85ecc..0b6466e 100755 --- a/yarrg/web/lookup +++ b/yarrg/web/lookup @@ -58,6 +58,14 @@ my %styles; Values => [ [ 'route', 'Trades for route' ], [ 'commod', 'Prices for commodity' ], [ 'age', 'Data age' ] ] + }, { Name => 'BuySell', + Before => '', + Values => [ [ 'buy_sell', 'Buy and sell' ], + [ 'sell_buy', 'Sell and buy' ], + [ 'buy', 'Buy offers only' ], + [ 'sell', 'Sell offers only' ], + ], + QuerySpecific => 1, }); foreach my $var (@vars) { @@ -127,7 +135,8 @@ my $quri= sub { $uri->path_query(); }; -foreach my $var (@vars) { +my $prselector_core= sub { + my ($var)= @_; my $name= $var->{Name}; my $lname= lc $var->{Name}; my $delim= $var->{Before}; @@ -154,13 +163,30 @@ foreach my $var (@vars) { $cvalix++; } print "

\n\n"; +}; + +my $prselector= sub { + my ($name)= @_; + foreach my $var (@vars) { + if ($var->{Name} eq $name) { + $prselector_core->($var); + return; + } + } + die $name; +}; + +foreach my $var (@vars) { + next if $var->{QuerySpecific}; + $prselector_core->($var); } #---------- initial checks, startup, main entry form ---------- die if $styles{Query} =~ m/[^a-z]/; -dbw_connect($styles{Ocean}); +my $mydbh; +my $dbh= ($mydbh= dbw_connect($styles{Ocean})); my $results_head_done=0; my $someresults= sub { @@ -176,7 +202,9 @@ $debug => 0


-<& "query_$styles{Query}", %baseqf, %queryqf, %styles, quri => $quri, +<& "query_$styles{Query}", %baseqf, %queryqf, %styles, + quri => $quri, dbh => $dbh, + prselector => $prselector, someresults => $someresults, emsgokorprint => sub { my ($emsg) = @_; @@ -215,3 +243,8 @@ use HTML::Entities; use URI::Escape; +<%cleanup> + +$mydbh->rollback() if $mydbh; + +