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"
"escalafón";"escal.";"spa"
"escalat-";"escalat.";"eng"
"escalera";"n.a.";"spa"
"escaló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"
"escènic";"escèn.";"cat"
"escénico";"escé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 )