summaryrefslogtreecommitdiffstats
path: root/.scripts/tools/getbib
diff options
context:
space:
mode:
authorLuke Smith <luke@lukesmith.xyz>2018-12-01 14:34:14 -0500
committerLuke Smith <luke@lukesmith.xyz>2018-12-01 14:34:14 -0500
commit6efc27037aee345cee975805f2aacac66f6da2ce (patch)
tree5cfde54cfaad450dc9199f26cda5e45ae79d3425 /.scripts/tools/getbib
parent5da0c95a7dafd76bbab49546ddfac1f6586538f8 (diff)
downloadeibhear-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/getbib20
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"