for my $url (@ARGV) {
# strip of leading stuff
$url =~ s/[^=]+=//;
+ $url =~ s{(?:http://)?(?:gobase\.org)?}{};
+ $url = qq(/$url) unless $url =~ m{^/};
my $fname = $url;
my $uri = URI->new($base);
$uri->query_form(mode => $options{mode},
$m->get("http://gobase.org$fname");
$m->save_content('temp.sgf');
$m->get($uri->as_string);
+ $m->follow_link(text_regex=>qr/PostScript/);
$m->form_number(2);
$m->select('scale',$options{scale});
$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');
}