App-PDFLibrarian
view release on metacpan or search on metacpan
bin/pdf-lbr-query-ads view on Meta::CPAN
exit 0 unless defined($query);
# get ADS API token
$api_token = $cfg->val('ads', 'api_token');
croak "$Script: missing personal ADS API token" unless defined($api_token);
# user agent for web queries
my $useragent = LWP::UserAgent->new;
$useragent->agent("App::PDFLibrarian v$App::PDFLibrarian::VERSION");
# escape any colons and parentheses in query value
$query =~ s{^([^:]*):(.*)$}{ my $k = $1; my $v = $2; $v =~ s|:|\\:|g; "$k:$v" }e;
$query =~ s/([()])/\\$1/g;
# send query to ADS
my $querycontent;
{
my $adsuri = URI->new('https://api.adsabs.harvard.edu/v1/search/query');
$adsuri->query_form(rows => 1, fl => 'bibcode', 'q' => $query);
my $request = HTTP::Request->new('GET', $adsuri);
$request->header('Authorization' => "Bearer $api_token");
lib/App/PDFLibrarian/BibTeX.pm view on Meta::CPAN
}
# set BibTeX 'misc' entry 'howpublished' field
if ($bibentry->type eq 'misc') {
if ($bibentry->exists('archiveprefix')) {
my $archiveprefix = $bibentry->get('archiveprefix');
$bibentry->set('howpublished', $archiveprefix);
}
}
# escape special characters
foreach my $bibfield ($bibentry->fieldlist()) {
my $bibfieldvalue = $bibentry->get($bibfield);
if ($bibfield =~ /url$/) {
# encode special URL characters
$bibfieldvalue = uri_decode($bibfieldvalue);
$bibfieldvalue = uri_encode($bibfieldvalue, {encode_reserved => 0, double_encode => 0});
} else {
# escape special TeX characters
$bibfieldvalue =~ s{\\*&}{\\&}g;
}
$bibentry->set($bibfield, $bibfieldvalue);
}
# arrange BibTeX fields in the order given by @fieldorder
my %order;
my $orderidx;
foreach my $bibfield (@fieldorder, sort { $a cmp $b } $bibentry->fieldlist()) {
share/title_abbr_iso4.csv view on Meta::CPAN
"escaire";"n.a.";"cat"
"escala";"n.a.";"spa"
"escalada";"n.a.";"spa"
"escalafoÌn";"escal.";"spa"
"escalat-";"escalat.";"eng"
"escalera";"n.a.";"spa"
"escaloÌn";"n.a.";"spa"
"escandinavo";"escand.";"spa"
"escapade";"n.a.";"fre"
"escaparate";"escapar.";"spa"
"escape";"n.a.";"eng"
"escarabajo";"n.a.";"spa"
"escargot";"n.a.";"fre"
"escarpment";"escarpm.";"eng"
"escasez";"n.a.";"spa"
"escenario-";"escen.";"spa"
"esceÌnic";"esceÌn.";"cat"
"esceÌnico";"esceÌn.";"spa"
"Eschborn";"n.a.";"ger"
"Eschenbach";"Eschenb.";"ger"
"Eschenburg";"Eschenbg.";"ger"
( run in 1.460 second using v1.01-cache-2.11-cpan-59e3e3084b8 )