Mercurial > ec-dotfiles
view bin/xkcdmania @ 391:0bccac92b6f1
Merge commit '6667bc4' into rhel5
author | Edho Arief <edho@myconan.net> |
---|---|
date | Thu, 26 Jul 2012 12:44:42 +0200 |
parents | 5bafb912837e |
children |
line wrap: on
line source
#!/bin/sh dir="/anime/misc/webcomics/xkcd" [ -d "${dir}" ] || exit 1 fetchlink() { if [ "$1" -a "$2" ]; then wget --quiet -O "$2" "$1" else return 1 fi } latest=$(fetchlink http://xkcd.com/ - | grep 'Permanent link' | sed -e 's/.*\/\([0-9]*\)\/.*/\1/') [ -n "${latest}" ] || exit 1 next=1 while [ "${next}" -le "${latest}" ]; do to_dl="${to_dl} ${next}" next=$((next + 1)) done for i in $to_dl do if [ ! -n "$(find "$dir/$(printf '%04d' $i)"* -type f 2>/dev/null)" ] && [ "${i}" -ne 404 ]; then page=$(fetchlink "http://xkcd.com/$i/" -) img=$(echo "$page" | grep 'Image URL' | sed -e 's/.*\(http[^<]*\).*/\1/' | head -n 1) echo "$(echo "$page" | grep "src" | grep "$img" | sed -e 's/.*title="\([^\"]*\)".*/\1/')" > "$dir/$(printf '%04d' $i) $(basename $img | sed -e 's/\(.*\)\..*/\1/').txt" fetchlink "${img}" "$dir/$(printf '%04d' $i) $(basename "$img")" fi done