#! /bin/bash
#echo "$0 $*"
option="none"
case "$1" in
-*)
	option="$1"
	shift
	;;
esac
Duration="$1"
shift
Condition="$*"
download_source="http://download.sisalp.net/scripts/TEST"
case "$option" in
-h|--help)
	echo "$0 : verify a condition and log value change"
	$0 --version
	echo "	Usage: $0 duration_in_seconds \"boolean_condition\""
	echo "	Usage: $0 --help			: print this help"
	echo "	Usage: $0 --version			: print version and exit"
	echo "	Usage: $0 --update [download_source]	: update from $download_source and exit"
	exit 0
	;;
-v|--version)
	echo "$0 version 1 revision 0 25 novembre 2019"
	exit 0
	;;
-u|--update)
	CURRENTUSER=`whoami`
	if [ ! -z "$1" ] ; then
		download_source="$1"
	fi
	case "$CURRENTUSER" in
	root)
		$0 --version
		cd /usr/local/bin
		mv $0 $0.old
		if wget $download_source ; then
			chmod 755 $0
			rm $0.old
			$0 --version
		else
			echo "cannot download new version from $download_source"
			rm $0
			mv $0.old $0
		fi
		exit 0
		;;
	*)
		echo "You must get administration priviledges root to succeed, please consider sudo"
		exit 1
		;;
	esac
	;;
esac


#exemple  TEST 10 ! -f /tmp/toto  #delay in O.01 s
if [ $Condition ] ; then
	Value="True"
else
	Value="False"
fi
nb_transitions="0"
nb_true="0"
nb_false="0"
echo "`date +%A_%x-%H:%M:%S:%3N` Initial value is $Value"
for ((i=0;i<${Duration}000;i=i+1)) ; do
	if [ $Condition ] ; then
		case "$Value" in
		False)
			Value="True"
			echo ""
			echo "`date +%A_%x-%H:%M:%S:%3N` New value is $Value"
			nb_transitions=$[$nb_transitions +1]
			;;
		*)
			echo -n "+"
			nb_true=$[$nb_true +1]
			;;
		esac
	else
		case "$Value" in
		True)
			Value="False"
			echo ""
			echo "`date +%A_%x-%H:%M:%S:%3N` New value is $Value"
			nb_transitions=$[$nb_transitions +1]
			;;
		*)
			echo -n "-"
			nb_false=$[$nb_false +1]
			;;
		esac
	fi
	sleep 0.001
done
echo ""
echo "`date +%A_%x-%H:%M:%S:%3N` Final value is $Value"
echo "$nb_transitions transitions, true: $nb_true, false: $nb_false"
exit 0
