summaryrefslogtreecommitdiffstats
path: root/bin/comics/dilbert
blob: ecf6aa0d8bfad5b39d6eca14098f8cc05a3c22e2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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}"