Commit | Line | Data |
---|---|---|
1d7a7472 MW |
1 | #! /bin/bash |
2 | ||
3 | set -e | |
4 | ||
5 | ## Initial setup. | |
6 | mkdir -p $MIRRORS/eprint-bib; cd $MIRRORS/eprint-bib | |
7 | eprint=http://eprint.iacr.org | |
8 | rm -f list tags | |
9 | ||
10 | ## Fetch the master index. | |
11 | curl -sS -o list -z '1 hour ago' $eprint/complete/ | |
12 | [ -r list ] || exit 0 | |
13 | ||
14 | ## Pick out the article tags. | |
15 | sed -n '/^<a href="\/\([0-9]\+\/[0-9]\+\)">.*$/ s::\1:p' list >tags | |
16 | ||
17 | ## For each tag, make sure we have the article information. | |
18 | while read tag; do | |
19 | dir=${tag%/*} | |
20 | mkdir -p $dir | |
21 | file=$dir/eprint-${tag/\//-}.bib | |
22 | [ -r $file ] || { | |
23 | curl -sS -o $file.in "$eprint/cgi-bin/cite.pl?entry=$tag" | |
24 | sed -n " | |
25 | /^<PRE>/,/<\/PRE>/ { | |
26 | /^<PRE>/ d | |
27 | s:</PRE>.*:: | |
28 | s%note =.*\$%url = {http://eprint.iacr.org/$tag},% | |
29 | p | |
30 | }" $file.in >$file.sed | |
31 | mv $file.sed $file | |
32 | rm -f $file.in | |
33 | echo $tag | |
34 | } | |
35 | done <tags | |
36 | ||
37 | ## Build the main bibliography. | |
38 | { | |
39 | cat header | |
40 | find . -name 'eprint-*.bib' -print | sort | xargs cat | |
41 | } >eprint.bib.new | |
42 | mv eprint.bib.new eprint.bib |