commit 7bb887b1b0d054c591e8897e7f375aff0c17ac31
parent f9ab5b3374d232a42fd7f4e1f0b480241a2e29a6
Author: Anders Damsgaard <anders@adamsgaard.dk>
Date: Thu, 18 Jul 2019 10:29:43 +0200
Add doi notification and improve doi result string parsing
Diffstat:
2 files changed, 11 insertions(+), 4 deletions(-)
diff --git a/.config/zathura/zathurarc b/.config/zathura/zathurarc
@@ -10,6 +10,6 @@ set completion-highlight-bg "#30303a"
set completion-highlight-fg "#aaaaaa"
map <C-o> feedkeys ":exec zathura '$FILE'<Return>"
-map <C-i> feedkeys ":exec getdoi --clip '$FILE'<Return>"
+map <C-i> feedkeys ":exec getdoi --notify --clip '$FILE'<Return>"
map <C-s> feedkeys ":exec scholarref --add '$FILE'<Return>"
map <C-y> feedkeys ":exec bash -c 'echo -n "$FILE" | xclip'<Return>"
diff --git a/.local/bin/getdoi b/.local/bin/getdoi
@@ -16,7 +16,8 @@ show_help() {
echo " -v, --version show version and license information"
echo " -V, --verbose show verbose information"
echo " -t, --tor-socks use torsocks for HTTP requests"
- echo " -n, --number NUM return NUM results (default 1)"
+ echo " -n, --notify send result as desktop notification"
+ echo " -N, --number NUM return NUM results (default 1)"
echo " -c, --clip paste DOI to clipboard (requires xclip)"
echo " -o, --open open DOI as url in browser"
echo " -- do not consider any following args as options"
@@ -66,7 +67,8 @@ get_doi_from_file() {
doi=$(pdfinfo "$1" | grep -io "doi.*") ||
doi=$(pdftotext "$1" 2>/dev/null - | grep -io "doi.*" -m 1 ) ||
die "Error: Could not extract DOI from file $doi"
- doi=$(echo "$doi" | sed 's/[A-Za-z\.\/:]*//;s/[\.,]$//')
+ doi=$(echo "$doi" | sed 's/[A-Za-z\.\/:]*//;s/[\.,]$//' |\
+ sed 's/.*\(10\.\)/\1/' | cut -d' ' -f1 | sed 's/,//g')
echo "$doi"
}
@@ -79,6 +81,7 @@ get_doi() {
echo "$doi"
[ "$clip" = 1 ] && echo "https://doi.org/${doi}" | \
xclip -selection clipboard
+ [ "$notify" = 1 ] && notify-send "$doi"
[ "$open" = 1 ] && browser_open "https://doi.org/${doi}"
}
@@ -86,6 +89,7 @@ verbose=0
number=1
clip=0
open=0
+notify=0
prefix=""
while :; do
case "$1" in
@@ -103,10 +107,13 @@ while :; do
-t|--tor-socks)
prefix="torsocks"
;;
- -n|--number)
+ -N|--number)
number="$2"
shift
;;
+ -n|--notify)
+ notify=1
+ ;;
-c|--clip)
clip=1
;;