}
}
-sub bs_p_tsv ($) {
- my ($bs) = @_;
+sub bs_p_tsv ($$) {
+ my ($f, $bs) = @_;
if (exists $current->{$bs}{$stall}) {
my $si= $current->{$bs}{$stall};
- printf("\t%d\t%s", $si->{Price}, $si->{Qty}) or die $!;
+ printf($f "\t%d\t%s", $si->{Price}, $si->{Qty}) or die $!;
} else {
- printf("\t\t") or die $!;
+ printf($f "\t\t") or die $!;
}
}
-sub main__tsv () {
+sub write_tsv ($) {
+ my ($f) = @_;
foreach $commod (sort keys %commod) {
$current= $commod{$commod};
my %stalls;
map { $stalls{$_}=1; } keys %{ $current->{Buy} };
map { $stalls{$_}=1; } keys %{ $current->{Sell} };
foreach $stall (sort keys %stalls) {
- printf("%s\t%s", $commod, $stall) or die $!;
- bs_p_tsv(Buy);
- bs_p_tsv(Sell);
- print("\n") or die $!;
+ printf($f "%s\t%s", $commod, $stall) or die $!;
+ bs_p_tsv($f, Buy);
+ bs_p_tsv($f, Sell);
+ print($f "\n") or die $!;
}
}
+ $f->error and die $!;
+ $f->flush or die $!;
+}
+
+sub main__tsv () {
+ write_tsv(\*STDOUT);
}
close R or die $!;
}
-sub main__upload () {
+sub gzip ($) {
+ my ($raw) = @_;
+ my $tf= pipethrough_prep();
+ print $tf $raw or die $!;
+ return pipethrough_run($tf,undef,'gzip','gzip');
+}
+
+sub main__uploadyaarg () {
+ my %o;
+ $o{'ocean'}= $ENV{'YPPSC_OCEAN'} or die;
+ $o{'island'}= $ENV{'YPPSC_ISLAND'} or die;
+ $o{'timestamp'}= 10;
+ get_our_version(\%o, 'client');
+
+ my $tf= pipethrough_prep();
+ write_tsv($tf);
+ my $oz= pipethrough_run_gzip($tf);
+ $o{'data'}= [ undef, 'deduped.tsv.gz',
+ Content_Type => 'application/octet-stream',
+ Content => $oz ];
+
+ my $dest= $ENV{'YPPSC_YAARG_SUBMIT'};
+
+ my $respcontent= cgipostform($ua, "$dest/commod-update-receiver", \%o);
+ $respcontent =~ m/^OK\b/ or die "$respcontent ?";
+}
+
+sub main__uploadpctb () {
my $ocean= $ENV{'YPPSC_OCEAN'}; die unless $ocean;
my $island= $ENV{'YPPSC_ISLAND'}; die unless $island;
die unless $pctb;
my $content= {
'marketdata' => [ undef, "marketdata.gz",
Content_Type => 'application/gzip',
- Content => $o
+ Content => gzip($o),
]
};