chiark / gitweb /
Merge branch 'master' into ourdb
[ypp-sc-tools.main.git] / pctb / commod-results-processor
index 4beb6d066a59af51b46591b70d7158941f26a9e4..cba01d9ac732a3713a3f658bf1910a456330f4dd 100755 (executable)
@@ -424,7 +424,25 @@ sub save_upload_html ($$) {
     close R or die $!;
 }
 
-sub main__upload_yaarg () {
+sub gzip ($) {
+    my ($raw) = @_;
+    my $tf= IO::File::new_tmpfile() or die $!;
+    print $tf $raw or die $!;
+    $tf->flush or die $!;
+    $tf->seek(0,0) or die $!;
+    my $child= open GZ, "-|"; defined $child or die $!;
+    if (!$child) {
+       open STDIN, "<&", $tf;
+       exec 'gzip'; die $!;
+    }
+    my $r;
+    { undef $/; $!=0; $r= <GZ>; }
+    defined $r or die $!;
+    close GZ or die "$! $?";  die $? if $?;
+    return $r;
+}
+
+sub main__uploadyaarg () {
     my $ocean= $ENV{'YPPSC_OCEAN'};  die unless $ocean;
     my $island= $ENV{'YPPSC_ISLAND'};  die unless $island;
     my $content= {
@@ -434,7 +452,7 @@ sub main__upload_yaarg () {
 ]};
 }
 
-sub main__upload_pctb () {
+sub main__uploadpctb () {
     my $ocean= $ENV{'YPPSC_OCEAN'};  die unless $ocean;
     my $island= $ENV{'YPPSC_ISLAND'};  die unless $island;
     die unless $pctb;
@@ -444,7 +462,7 @@ sub main__upload_pctb () {
     my $content= {
        'marketdata' => [ undef, "marketdata.gz",
                          Content_Type => 'application/gzip',
-                         Content => $o
+                         Content => gzip($o),
                          ]
                      };