diff options
| author | Luke Smith <luke@lukesmith.xyz> | 2018-12-01 14:34:14 -0500 |
|---|---|---|
| committer | Luke Smith <luke@lukesmith.xyz> | 2018-12-01 14:34:14 -0500 |
| commit | 6efc27037aee345cee975805f2aacac66f6da2ce (patch) | |
| tree | 5cfde54cfaad450dc9199f26cda5e45ae79d3425 /.scripts/tools/getbib | |
| parent | 5da0c95a7dafd76bbab49546ddfac1f6586538f8 (diff) | |
| download | eibhear-6efc27037aee345cee975805f2aacac66f6da2ce.tar.gz eibhear-6efc27037aee345cee975805f2aacac66f6da2ce.tar.zst eibhear-6efc27037aee345cee975805f2aacac66f6da2ce.zip | |
let a thousand autistic tweaks bloom
Diffstat (limited to '.scripts/tools/getbib')
| -rwxr-xr-x | .scripts/tools/getbib | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/.scripts/tools/getbib b/.scripts/tools/getbib index 0ea30d3..bf02694 100755 --- a/.scripts/tools/getbib +++ b/.scripts/tools/getbib @@ -1,15 +1,21 @@ -#!/bin/bash +#!/bin/sh # Give this script a .pdf and it will attempt # to return a proper .bib citation via doi. # Internet connection required. -# Get the doi from metadata, if not possible, get -# doi from pdftotext output, if not possible, exit. -doi=$(pdfinfo "$1" | grep -o doi:.*) || - doi=$(pdftotext "$1" - | grep -o doi.* -m 1) || +if [ -f "$1" ]; +then + # Get the doi from metadata, if not possible, get + # doi from pdftotext output, if not possible, exit. + doi=$(pdfinfo "$1" | grep -io "doi:.*") || + doi=$(pdftotext "$1" 2>/dev/null - | grep -o "doi:.*" -m 1) || exit 1 +else + # If not given file, assume argument is doi + doi="$1" +fi # Check crossref.org for the bib citation. -curl -s "http://api.crossref.org/works/$doi/transform/application/x-bibtex" -w "\n" | - sed -e "/^[^\(\t\|@\|}\)]/d" +curl -s "http://api.crossref.org/works/$doi/transform/application/x-bibtex" -w "\\n" | + sed -e "/^[^\\(\\t\\|@\\|}\\)]/d" |
