+++ /dev/null
-#!/bin/bash
-
-#########################################################################
-# This program is free software: you can redistribute it and/or modify #
-# it under the terms of the version 3 of the GNU General Public License #
-# as published by the Free Software Foundation. #
-# #
-# This program is distributed in the hope that it will be useful, but #
-# WITHOUT ANY WARRANTY; without even the implied warranty of #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU #
-# General Public License for more details. #
-# #
-# You should have received a copy of the GNU General Public License #
-# along with this program. If not, see <http://www.gnu.org/licenses/>. #
-# #
-# Written by and Copyright (C) Francois Fleuret #
-# Contact <francois.fleuret@idiap.ch> for comments & bug reports #
-#########################################################################
-
-
-set -e
-set -o pipefail
-
-[[ "${ARXIV_BIBFILE}" ]] || (echo >&2 "Define \$ARXIV_BIBFILE"; exit 2)
-[[ "${ARXIV_BIBDIR}" ]] || (echo >&2 "Define \$ARXIV_BIBDIR"; exit 2)
-
-tmp=$(mktemp /tmp/arxiv-bib.sh.XXXXXX)
-
-while [[ "$1" ]]
-do
-
- if [[ $1 =~ ^http ]] || [[ $1 =~ ^[0-9\.]*$ ]]
- then
- id="$(echo "$1" | sed -e 's|^.*/\([0-9.]*\)$|\1|')"
- wget "https://arxiv.org/pdf/${id}"
- filename="${id}.pdf"
- else
- filename="$1"
- id="$(basename ${filename} .pdf)"
- fi
-
- while [[ -f "${id}.pdf.part" ]] # dealing with firefox's download
- do
- echo "Waiting for ${id}.pdf.part to vanish"
- sleep 1
- done
-
- echo -n "Fetching info from arxiv.org ... "
-
- curl -s > "${tmp}" "https://arxiv.org/abs/${id}"
-
- echo "done."
-
- ######################################################################
- # Bibtex entry
-
- AUTHORS=""
-
- while read line
- do
- [[ "${AUTHORS}" ]] && AUTHORS="${AUTHORS} and "
- AUTHORS="${AUTHORS}${line}"
- done < <(grep '<meta name="citation_author"' "${tmp}" | sed -e 's/^.*content="\([^,]*, .\).*$/\1./')
-
- TITLE=$(grep '<meta name="citation_title"' ${tmp} | sed -e 's/^.*content="\([^"]*\)".*$/\1/')
- YEAR=$(echo ${id} | sed -e 's/^\(..\).*$/20\1/')
-
- if grep "${TITLE}" "${ARXIV_BIBFILE}"
- then
- echo
- echo "This article seems to be already in ${ARXIV_BIBFILE}"
- echo
- else
-
- cat >> ${ARXIV_BIBFILE} <<EOF
-
-@article{arxiv-${id},
- author={${AUTHORS}},
- title={${TITLE}},
- journal={CoRR},
- volume={abs/${id}},
- year={${YEAR}},
- url={https://arxiv.org/pdf/${id}}
-}
-EOF
-
- fi
-
- ######################################################################
- # Rename the file
-
- AUTHORS=""
- nb_authors=0
-
- while read line
- do
- if [[ "${AUTHORS}" ]]
- then
- AUTHORS="${AUTHORS} "
- else
- FIRST_AUTHOR="${line}"
- fi
- nb_authors=$((nb_authors+1))
- AUTHORS="${AUTHORS}${line}"
- done < <(grep '<meta name="citation_author"' "${tmp}" | sed -e 's/^.*content="\([^,.]*\), .*$/\1/')
-
- TITLE=$(grep '<meta name="citation_title"' ${tmp} | sed -e 's/^.*content="\([^"]*\)".*$/\1/')
- YEAR=$(echo ${id} | sed -e 's/^\(..\).*$/20\1/')
-
- if [[ ${nb_authors} -gt 3 ]]
- then
- AUTHORS="${FIRST_AUTHOR} et al"
- fi
-
- TITLE="$(echo "${AUTHORS} - ${TITLE} ${YEAR} ${id}.pdf" | sed -e 's/ /_/g')"
-
- mv -v "${filename}" "${ARXIV_BIBDIR}/${TITLE}"
-
- ######################################################################
-
- shift
-
-done
-
-rm -rf ${tmp}