diff options
author | Alexander Sulfrian <alexander@sulfrian.net> | 2012-05-09 18:02:57 +0000 |
---|---|---|
committer | root <root@vm-staticweb.spline.inf.fu-berlin.de> | 2012-05-09 18:02:57 +0000 |
commit | 41fa83bad0c1a31fcda8def87aae62dfc12ce4b0 (patch) | |
tree | 157b1ab62346caa3f6dcc95ba5e01665197031fa | |
parent | 5535e7b5ff682d6e3b04ee3a41aeaed01154778d (diff) | |
download | comics-41fa83bad0c1a31fcda8def87aae62dfc12ce4b0.tar.gz comics-41fa83bad0c1a31fcda8def87aae62dfc12ce4b0.tar.bz2 comics-41fa83bad0c1a31fcda8def87aae62dfc12ce4b0.zip |
bin/comics: add some scripts
-rwxr-xr-x | bin/comics/calvin | 26 | ||||
-rwxr-xr-x | bin/comics/claybennett | 37 | ||||
-rwxr-xr-x | bin/comics/dilbert | 51 | ||||
-rw-r--r-- | etc/settings.sh | 21 |
4 files changed, 135 insertions, 0 deletions
diff --git a/bin/comics/calvin b/bin/comics/calvin new file mode 100755 index 0000000..23fe339 --- /dev/null +++ b/bin/comics/calvin @@ -0,0 +1,26 @@ +#!/bin/bash + +source $(pwd)/$(dirname $0)/../../etc/settings.sh + +tmp=$(mktemp -d) + +newn="${day}.gif" +nomen=$(date -d "$daysago days ago" "+ch%y%m%d.gif") +server="http://picayune.uclick.com/comics/ch/$year/$nomen" + +echo "Dateiname: $nomen" +echo +echo "Hole c+h von $server" +echo "fuer Datum: $(date -d"$daysago days ago" -I)" +echo + +cd "${tmp}" +wget -t 0 --cache=off $server + +if [ -e "${tmp}/${nomen}" ]; then + mv "${tmp}/${nomen}" "${image_dir}/$newn" + rm -f "${comic_dir}/latest.gif" + ln -s "${image_offset}/$newn" "${comic_dir}/latest.gif" +fi + +rm -rf "${tmp}" diff --git a/bin/comics/claybennett b/bin/comics/claybennett new file mode 100755 index 0000000..b8cfe27 --- /dev/null +++ b/bin/comics/claybennett @@ -0,0 +1,37 @@ +#!/bin/bash + +source $(pwd)/$(dirname $0)/../../etc/settings.sh + +tmp=$(mktemp -d) + +date="$(date -d "$daysago days ago" +"%a, %d %b %Y")" +newn="${day}.jpg" + +# get post link +rss="http://www.timesfreepress.com/rss/headlines/opinion/cartoons/" +rss_regex="<pubDate>${date}[^<]*</pubDate><guid>[^<]*</guid>" +url_regex=".*<guid>\([^<]*\)</guid>.*" + +post=$(wget -O - "${rss}" | grep "${rss_regex}" | sed "s#${url_regex}#\1#") + +# get img url from post +img=$(wget -O - "${post}" | grep '<div class="story_lead_photo">' -A 3 | \ + sed -n 's#.*<img.*src="\([^"]*\)".*#\1#p') + +echo "Hole claybennett von $server" +echo "fuer Datum: $(date -d"$daysago days ago" -I)" +echo "URL: $img" +echo + +cd "${tmp}" +wget -t 0 --cache=off "${img}" -O "${newn}" + +echo ${image_dir} + +if [ -e "${tmp}/${newn}" ]; then + mv "${tmp}/${newn}" "${image_dir}/$newn" + rm -f "${comic_dir}/latest.jpg" + ln -s "${image_offset}/$newn" "${comic_dir}/latest.jpg" +fi + +rm -rf "${tmp}" 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}" diff --git a/etc/settings.sh b/etc/settings.sh new file mode 100644 index 0000000..4116d11 --- /dev/null +++ b/etc/settings.sh @@ -0,0 +1,21 @@ +# this file is sourced by the get scripts + +if [ "$1" = "" ] +then + daysago=0 +else + daysago=$1 +fi + +comic=$(basename $0) +year=$(date -d"$daysago days ago" +%Y) +month=$(date -d"$daysago days ago" +%Y-%m) +day=$(date -d"$daysago days ago" +%d) +comic_dir=$(pwd)/$(dirname $0)/../../htdocs/imgs/${comic} +image_offset=${month}/ +image_dir=${comic_dir}/${image_offset} + +if [ ! -d "${image_dir}" ]; then + mkdir -p "${image_dir}" +fi + |