Use sci-hub to fetch possible PDF - plumb - Open certain URL patterns with an ad-hoc opener (plumber)
HTML hg clone https://bitbucket.org/iamleot/plumb
DIR Log
DIR Files
DIR Refs
DIR README
---
DIR changeset ad9d22a08b9ac9c70ccccb3861c16b3a02b1cb82
DIR parent d00746754e8c6eff8b066a1797f620147e566322
HTML Author: Leonardo Taccari <iamleot@gmail.com>
Date: Thu, 13 Sep 2018 16:17:30
Use sci-hub to fetch possible PDF
Diffstat:
openers/doi | 19 +++++++++++++++++--
1 files changed, 17 insertions(+), 2 deletions(-)
---
diff -r d00746754e8c -r ad9d22a08b9a openers/doi
--- a/openers/doi Thu Sep 13 16:00:05 2018 +0200
+++ b/openers/doi Thu Sep 13 16:17:30 2018 +0200
@@ -1,7 +1,22 @@
#!/bin/sh
+scihub_pdf()
+{
+ doi="$1"
+
+ curl -gs -L "http://sci-hub.tw/${doi}" |
+ xmllint --html --xpath 'string(//iframe[@id="pdf"]/@src)' - 2>/dev/null |
+ sed -e 's;^//;http://;' \
+ -e 's/.pdf.*$/.pdf/'
+}
+
for u in "$@"; do
doi="${u#*://}"
- doiurl="https://doi.org/${doi}"
- plumb "${doiurl}"
+ url="https://doi.org/${doi}"
+ pdfurl=$(scihub_pdf "${doi}")
+ if [ -n "${pdfurl}" ]; then
+ url="${pdfurl}"
+ fi
+
+ plumb "${url}"
done