#!/bin/bash
. $HOME/.config/user-dirs.dirs

# Suomikuva ti 23.3.2010 10.22.45 +0200
# A Bash script which downloads webcam pictures to be used as desktop wallpaper.
# Written by Jani Uusitalo.
# CC0 http://creativecommons.org/licenses/zero/1.0/



# Configurable default template, for when a camera is down or there's a network issue.
# A URI, file w. full path or blank will do (blank means fall back to a black canvas).
suomikuvakakkupohja=

# Configurable location for the wallpaper. This is a symbolic link pointing to one of
# the actual pictures, so setting your wallpaper to this file changes the wallpaper
# as the link target changes.
suomikuva=$XDG_PICTURES_DIR/Taustakuvat/Suomikuva/suomikuva.jpg







limit=--limit-rate=10k
suomikuvahakemisto=`dirname $suomikuva`
if [ ! -d "$suomikuvahakemisto" ]
then
	mkdir -p "$suomikuvahakemisto"
fi

if [ -f $suomikuva ]
then
	suomikuvapanorointi=`ls -l $suomikuva | cut -d\> -f 2 | cut -d- -f 2 | cut -d. -f 1`
else
	suomikuvapanorointi=1
fi

suomikuvaverstas=`mktemp -d`
suomikuvakakku=/tmp/suomikuvakakku
if [ ! -d $suomikuvakakku ]
then
	mkdir -p $suomikuvakakku
fi

pushd $suomikuvakakku || exit 1

if [[ "$suomikuvakakkupohja" == http://* ]]
then
	wget $limit -q "$suomikuvakakkupohja" -O suomikuvakakkupohja.jpg
	if [ $? -gt 0 ]
	then
		suomikuvakakkupohja=
	else
		suomikuvakakkupohja=suomikuvakakkupohja.jpg
	fi
fi
if [ "x$suomikuvakakkupohja" = "x" ]
then
	convert -size 640x512 xc:black suomikuvakakkupohja.jpg
	suomikuvakakkupohja=suomikuvakakkupohja.jpg
fi

for f in 01 02 03 04 05 06 07 08 09 10 11 12
do
	if [ ! -f $f.jpg ]
	then
		 cp "$suomikuvakakkupohja" $f.jpg
	fi
done

pushd $suomikuvaverstas
case "$suomikuvapanorointi" in

	6)
	  wget $limit -q 'http://www.kirkkonummenseurakunnat.fi/pop3/video.jpg' -O 01.jpg || cp $suomikuvakakku/01.jpg . || exit 1
	  cp -f 01.jpg $suomikuvakakku

	  wget -q 'http://www.portofhelsinki.fi/webcam/webcam/image_00001.jpg' -O 02.jpg || cp $suomikuvakakku/02.jpg . || exit 1
	  cp -f 02.jpg $suomikuvakakku

	  wget $limit -q 'http://www.oulunkaupunki.fi/_private/kamera/image20.jpg' -O 03.jpg || cp $suomikuvakakku/03.jpg . || exit 1
	  cp -f 03.jpg $suomikuvakakku

	  wget $limit -q 'http://mummila.net/varasto/muut/kelikamera.php?kamera=C1452701' -O 12.jpg || cp $suomikuvakakku/12.jpg . || exit 1
	  cp -f 12.jpg $suomikuvakakku

	  montage -tile 2x2 -background black 01.jpg 02.jpg 03.jpg 12.jpg -geometry 640x512 suomikuva-1.jpg
	  cp suomikuva-1.jpg "$suomikuvahakemisto"
	  pushd "$suomikuvahakemisto" && { rm -f $suomikuva && ln -s suomikuva-1.jpg $suomikuva; }
	  ;;

	1)
	  wget $limit -q 'http://www.santaclauslive.com/cam/cam.jpg' -O 08.jpg || cp $suomikuvakakku/08.jpg . || exit 1
	  cp -f 08.jpg $suomikuvakakku

	  wget $limit -q 'http://mummila.net/varasto/muut/kelikamera.php?kamera=C1453401' -O 09.jpg || cp $suomikuvakakku/09.jpg . || exit 1
	  cp -f 09.jpg $suomikuvakakku

	  wget $limit -q 'http://www.koillislapinsahko.fi/webcam/current.jpg' -O 10.jpg || cp $suomikuvakakku/10.jpg . || exit 1
	  cp -f 10.jpg $suomikuvakakku

	  wget $limit -q 'http://palvelut.pyha.fi/fullsize.jpg' -O 11.jpg || cp $suomikuvakakku/11.jpg . || exit 1
	  cp -f 11.jpg $suomikuvakakku

	  montage -tile 2x2 -background black 08.jpg 09.jpg 10.jpg 11.jpg -geometry 640x512 suomikuva-2.jpg
	  cp suomikuva-2.jpg "$suomikuvahakemisto"
	  pushd "$suomikuvahakemisto" && { rm -f $suomikuva && ln -s suomikuva-2.jpg $suomikuva; }
	  ;;

	2)
	  wget $limit -q 'http://www.rovaniemi.fi/roikpiwebcamimages/Kamera1_00001.jpg' -O 04.jpg || cp $suomikuvakakku/04.jpg . || exit 1
	  cp -f 04.jpg $suomikuvakakku

	  convert 04.jpg -crop 1280x1024+0+0 suomikuva-3.jpg
	  cp suomikuva-3.jpg "$suomikuvahakemisto"
	  pushd "$suomikuvahakemisto" && { rm -f $suomikuva && ln -s suomikuva-3.jpg $suomikuva; }
	  ;;

	3)
	  wget $limit -q 'http://www.rovaniemi.fi/roikpiwebcamimages/Kamera2_00001.jpg' -O 05.jpg || cp $suomikuvakakku/05.jpg . || exit 1
	  cp -f 05.jpg $suomikuvakakku

	  convert 05.jpg -resize x1024 -crop 1280x1024+0+0 suomikuva-4.jpg
	  cp suomikuva-4.jpg "$suomikuvahakemisto"
	  pushd "$suomikuvahakemisto" && { rm -f $suomikuva && ln -s suomikuva-4.jpg $suomikuva; }
	  ;;

	4)
	  wget $limit -q 'http://www.rovaniemi.fi/roikpiwebcamimages/Kamera4_00001.jpg' -O 06.jpg || cp $suomikuvakakku/06.jpg . || exit 1
	  cp -f 06.jpg $suomikuvakakku

	  convert 06.jpg -resize x1024 -crop 1280x1024+0+0 suomikuva-5.jpg
	  cp suomikuva-5.jpg "$suomikuvahakemisto"
	  pushd "$suomikuvahakemisto" && { rm -f $suomikuva && ln -s suomikuva-5.jpg $suomikuva; }
	  ;;

	*)
	  wget $limit -q 'http://www.rovaniemi.fi/roikpiwebcamimages/Kamera3_00001.jpg' -O 07.jpg || cp $suomikuvakakku/07.jpg . || exit 1
	  cp -f 07.jpg $suomikuvakakku

	  convert 07.jpg -resize x1024 -crop 1280x1024+0+0 suomikuva-6.jpg
	  cp suomikuva-6.jpg "$suomikuvahakemisto"
	  pushd "$suomikuvahakemisto" && { rm -f $suomikuva && ln -s suomikuva-6.jpg $suomikuva; }
	  ;;

esac

popd ; popd
rm -rf $suomikuvaverstas