From 359421442dc18b978156d6cf9a9e5b718906b758 Mon Sep 17 00:00:00 2001 From: Luke Smith Date: Wed, 10 Apr 2019 08:11:55 -0400 Subject: [PATCH] for crossfref vid --- .scripts/tools/getbib | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/.scripts/tools/getbib b/.scripts/tools/getbib index bf02694..ed441c5 100755 --- a/.scripts/tools/getbib +++ b/.scripts/tools/getbib @@ -1,21 +1,14 @@ #!/bin/sh +[ -z "$1" ] && echo "Give either a pdf file or a DOI as an argument." && exit -# Give this script a .pdf and it will attempt -# to return a proper .bib citation via doi. -# Internet connection required. - -if [ -f "$1" ]; -then - # Get the doi from metadata, if not possible, get - # doi from pdftotext output, if not possible, exit. +if [ -f "$1" ]; then + # Try to get DOI from pdfinfo or pdftotext output. doi=$(pdfinfo "$1" | grep -io "doi:.*") || - doi=$(pdftotext "$1" 2>/dev/null - | grep -o "doi:.*" -m 1) || + doi=$(pdftotext "$1" 2>/dev/null - | grep -io "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"