summaryrefslogtreecommitdiffstats
path: root/.scripts/tools/getbib
diff options
context:
space:
mode:
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"