#!/bin/bash # picwikipedia.sh # Michael.ZhanShi@Gmail.com # http://www.econst.org export LC_ALL=C pwtmp1=$(basename $0)_1_$$ pwtmp2=$(basename $0)_2_$$ pwtmp3=$(basename $0)_3_$$ WEBFAILURE=66 OTHERFAILURE=67 mfyear=${1:-$(date +%Y)} mfmonth=${2:-$(date +%m)} mfmonth1=$(date -d "$mfmonth/01" +%B) picdir=${3:-"${HOME}/Pictures"} cd /tmp if wget -nv -c "http://en.wikipedia.org/wiki/Wikipedia:Picture_of_the_day/$mfmonth1"_"$mfyear" -O $pwtmp1 then : else echo "Couldn't connect to wikipedia" >&2 exit $WEBFAILURE fi sed -n -f picwikipedia.sed $pwtmp1 >$pwtmp2 awk -F ' ' 'NF==3 { gsub(/ /,"_",$2) gsub(/[\.\(\),"'"'"']/,"",$2) file="'$mfyear'" "." "'$mfmonth'" "." sprintf("%02d",$1) "_" tolower($2) tolower(substr($3,match($3,/\.[^\.]*$/))) print $3 " " file }' $pwtmp2 >$pwtmp3 awk -f download.awk $pwtmp3 for mfdays in $(cal $mfmonth $mfyear) do continue done if [ "$(wc -l $pwtmp3 | awk '{ print $1 }')" -ne "$mfdays" ] then ((mfdays=mfdays-$(wc -l $pwtmp3))) echo "$mfdays missed:(" >&2 fi mkdir -p $picdir/Wikipedia/$mfyear/ mv $mfyear.$mfmonth* $picdir/Wikipedia/$mfyear/ echo echo "Done!" exit 0