diff options
Diffstat (limited to 'bin/comics/cyanide')
-rwxr-xr-x | bin/comics/cyanide | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/bin/comics/cyanide b/bin/comics/cyanide new file mode 100755 index 0000000..813d17c --- /dev/null +++ b/bin/comics/cyanide @@ -0,0 +1,49 @@ +#!/bin/bash + +if [ -z "$1" -o ! -d "$1" ]; then + echo "Usage: $0 <top-directory> [<days ago>]" 1>&2 + exit 1 +fi + +top="${1}" +shift + +source "${top}/etc/settings.sh" +tmp="$(mktemp -d)" +cd "${tmp}" + +export LANG=C +export LC_ALL=C +export LC_TIME=C +year=`date -d "$daysago days ago 00:00:00" +%Y` +month=`date -d "$daysago days ago 00:00:00" +%B` +day=`date -d "$daysago days ago 00:00:00" +%d` + +part=`curl -s "http://explosm.net/comics/archive/$year/" | grep -oE "${month}.+</table>" | sed -nre "s#.+href=\"([^\"]+)\">[^/]+${day}<.+#\1#p"` +if [ -z "$part" ]; then + echo "Cyanide and Happyness: Kein Comic für $year, $month $day" + exit +fi + +htmladdress="http://explosm.net/$part" +echo "Cyanide and happyness: $htmladdress gefunden" + +browser="Mozilla/4.06 [en] (X11; I; Linux 2.0.35 i586)" + +echo "Lese URL von $htmladdress" +url=$(wget ${wget_args} -O - --user-agent="$browser" "$htmladdress" | grep -oE 'http://www.explosm.net/db/files/Comics/[^"]+') + +if [ -n $url ]; then + echo "Dateiname: $url" + echo "Hole cyanide and happyness für Datum: $(date -d"$daysago days ago" -I)" + + wget ${wget_args} --user-agent="$browser" -O "$day.png" "$url" + + if [ -s "${day}.png" ]; then + mv ${day}.png "${image_dir}/$day.png" + rm -f "${comic_dir}/latest.png" + ln -s "${image_offset}/$day.png" "${comic_dir}/latest.png" + fi +fi + +rm -rf "${tmp}" |