#!/bin/sh
export __mode__='ref'

run_cmd(){
	echo $1
	eval $1
}

compare_md5(){
	file=$1
	checksum=$2
	
	actual=`md5sum $file | cut -d ' ' -f 1`
	
	timestamp=`date +%s`

	echo "md5 should be  => $checksum"
	echo "md5 calculated => $actual"

	run_cmd "wget -q http://env.ecs.soton.ac.uk/glacsweb/iceland/filelog?device=${__mode__}\&name=$file\&md5sum=$checksum\&computed=$actual\&timestamp=$timestamp"

	if [ "$checksum" == "$actual" ]; then
		echo "md5 checksum passed for $file"
		return 1
	else
		echo "md5 checksum failed for $file"
		return 0
	fi

	return 0
}

fetch_file(){
	fetch=$1
	checksum=$2
	mvdir=$3
	permissions=$4
	
	new="$fetch.new"
	url="http://env.ecs.soton.ac.uk/glacsweb/iceland/fetch/$fetch"
	run_cmd "wget -q -O $new $url"
	compare_md5 $new $checksum
	if [ $? -eq "1" ]; then
		run_cmd "mv $new $mvdir/$fetch"
		run_cmd "chmod $permissions $mvdir/$fetch"
	else
		run_cmd "rm $new"
	fi
}

fetch_file "functions.sh" "898038f74b66510072342124612390de" "/home/root/" "+x"
fetch_file "batvolts.py" "a5d67bef05dea4adc69f8b7fd4f0a8e8"  "/home/root/" "644"
fetch_file "gwgps" "d0cf96abadb2090f759c4b0459ed13e9" "/home/root/probe/" "+x"
#fetch_file "gwschedule.py" "186be65df9bf435bd4847a8a1413d4b2" "/home/root/" "+x"
