my %options = (debug => 0,
help => 0,
man => 0,
+ use_links => 1,
);
my %REFERENCE_TYPES = (pmid => 'pmid|p');
GetOptions(\%options,
values %REFERENCE_TYPES,
+ 'use_links|use-links!',
'cgi_proxy|cgi-proxy|C=s',
'http_proxy|http-proxy|H=s',
'debug|d+','help|h|?','man|m');
my @possible_links = $m->find_all_links(text_regex => qr/to\s*read/i);
# try to find the other links
push @possible_links,
- grep {my $attr = $_->attrs(); exists $attr->{title} and $attr->{title} =~ qr/Full\s*Text/i}
+ grep {my $attr = $_->attrs(); exists $attr->{title} and $attr->{title} =~ qr/(?:Full\s*Text|PMC)/i}
$m->links();
print STDERR map {"article link: ".$_->url_abs()."\n"} @possible_links if $DEBUG;
die "No links" unless @possible_links;
};
if ($@) {
print STDERR "$@\n" if $DEBUG;
- system('links2',
- exists $options{http_proxy}?('-http-proxy',$options{http_proxy}):(),
- $url
- ) == 0 or next;
- rename('temp.pdf',"${pmid}.pdf") if -e 'temp.pdf';
- }
+ if ($options{use_links}) {
+ system('links2',
+ # links2 doesn't like the leading http:// of proxies for some reason
+ exists $options{http_proxy}?('-http-proxy',(map {s{http://}{}; $_} $options{http_proxy})):(),
+ $url
+ ) == 0 or next;
+ rename('temp.pdf',"${pmid}.pdf") if -e 'temp.pdf';
+ }
+ }
}
}