summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2012-05-09 18:02:57 +0000
committerroot <root@vm-staticweb.spline.inf.fu-berlin.de>2012-05-09 18:02:57 +0000
commit41fa83bad0c1a31fcda8def87aae62dfc12ce4b0 (patch)
tree157b1ab62346caa3f6dcc95ba5e01665197031fa
parent5535e7b5ff682d6e3b04ee3a41aeaed01154778d (diff)
downloadcomics-41fa83bad0c1a31fcda8def87aae62dfc12ce4b0.tar.gz
comics-41fa83bad0c1a31fcda8def87aae62dfc12ce4b0.tar.bz2
comics-41fa83bad0c1a31fcda8def87aae62dfc12ce4b0.zip
bin/comics: add some scripts
-rwxr-xr-xbin/comics/calvin26
-rwxr-xr-xbin/comics/claybennett37
-rwxr-xr-xbin/comics/dilbert51
-rw-r--r--etc/settings.sh21
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
+