diff options
Diffstat (limited to 'bin/comics/dilbert')
-rwxr-xr-x | bin/comics/dilbert | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/bin/comics/dilbert b/bin/comics/dilbert new file mode 100755 index 0000000..ecf6aa0 --- /dev/null +++ b/bin/comics/dilbert @@ -0,0 +1,51 @@ +#!/bin/bash + +source $(pwd)/$(dirname $0)/../../etc/settings.sh +tmp="$(mktemp -d)" + +server="http://www.dilbert.com" +webaddress="$server/strips/$(date -d"$daysago days ago" +%Y-%m-%d)/index.html" +browser="Mozilla/4.06 [en] (X11; I; Linux 2.0.35 i586)" +newn="${day}.gif" + +cd "${tmp}" + +i=0 +while [ ! -e "index.html" ]; do + i=i+1 + + echo + echo "$i. Versuch:" + wget --wait=1000 -t 0 --cache=off --user-agent="$browser" "$webaddress" + + if [ "$i" = "10" ]; then + echo "Nach zehn Versuchen nichts bekommen. Break" + break + fi + + if [ ! -e "index.html" ]; then + echo Sleeping for 20 seconds ... + sleep 20 + fi +done + +if [ -e index.html ]; then + nomen=$(grep -A1 "strips/comic/$(date -d"$daysago days ago" -I)" index.html | \ + sed -n 's#.*<img.*src="\(http://[^"]\+\)".*#\1#p' | tail -1) + gifname=$(sed 's#.*/\([^/]\+\)$#\1#' <<< $nomen) + + echo "Dateiname: $gifname" + echo + echo "Hole dilbert von $nomen" + echo "fuer Datum: $(date -d"$daysago days ago" -I)" + echo + wget -t 0 --cache=off --user-agent="$browser" "$nomen" + + if [ -e "${tmp}/${gifname}" ]; then + mv "${tmp}/${gifname}" "${image_dir}/$newn" + rm -f "${comic_dir}/latest.gif" + ln -s "${image_offset}/$newn" "${comic_dir}/latest.gif" + fi +fi + +rm -rf "${tmp}" |