]> git.donarmstrong.com Git - bin.git/blobdiff - get_sgf
* add total element to the invoice template
[bin.git] / get_sgf
diff --git a/get_sgf b/get_sgf
index 229424c0b3849c1dd838f5ab7690a14820809285..117912aa68d518f05ba2e90eebb8062ec9480401 100755 (executable)
--- a/get_sgf
+++ b/get_sgf
@@ -128,8 +128,23 @@ for my $url (@ARGV) {
      $m->field('fig',$options{figures});
      $m->select('paper',$options{paper});
      $m->submit();
-     $m->follow_link(url_regex=>qr/\.ps\.gz/);
-     $m->save_content('temp.ps.gz');
+     my $content;
+     my $state;
+     my $sleep;
+ VALID_LOOP: {
+         do {
+              $state = $m->clone;
+              $m->follow_link(url_regex=>qr/\.ps\.gz/);
+              if ($m->content =~ /^\%\!PS/){
+                   $m->save_content('temp.ps');
+                   last VALID_LOOP;
+              }
+              $sleep = 240+int(rand()*120);
+              print STDERR "Failure to download content, waiting $sleep seconds\n";
+              $m = $state;
+         } while (sleep $sleep);
+     }
+     system('gzip','temp.ps');
      system("$ENV{HOME}/bin/sgf_rename",'temp.sgf');
 }