#!/bin/bash
Version="19 jan 2013"
Option="$1"
case "$Option" in
--list|--purge|--cancel|--upgrade|--check|--no_link|--update|--version)
	;;
*)
	echo "commands are --list --cancel --upgrade --check --no_link --update --version and --purge [options]"
	echo "options are [-blabla][-auto]"
	exit 1
	;;
esac
shift
Blabla="$*"
Auto="$*"
echo "Suppression des repertoires obsoletes"
echo "Fichiers ecartes :"
ls ~/openerp | grep  "xoe_mgt\|.*.log.*\|packages\|webfor.*\|web6.*"| xargs
DirectoryList=`ls ~/openerp | grep -v "xoe_mgt\|.*.log.*\|packages\|webfor.*\|web6.*" | xargs`
XoeConfig=`xoe --config -noblabla`
WebList=`echo "$XoeConfig" | grep  "^web:" | cut -d: -f2`
case "$Option" in
--version)
	echo "$Version"
	;;
--update)
	cd ~
	rm -f $0
	wget http://download.sisalp.net/purge_web_clients.sh
	chmod 755 purge_web_clients.sh
	;;
--upgrade)
	for Directory in $DirectoryList ; do
		if [ -d ~/openerp/$Directory ] ; then
			rm -r ~/openerp/$Directory
			echo "Repertoire supprime : $Directory"
		fi
		if echo "$XoeConfig" | grep  "^web:" | grep -q "/$Directory/" ; then 
			xoe --directory -download $Directory
		fi
	done
	;;
--check)
	for Service in $WebList ; do
		xoe --web -version $Service
	done
	;;
--no_link)
	for Service in $WebList ; do
		echo "Modification de $Service"
		if echo "$XoeConfig" | grep  "^directory:web:web-$Service:" | grep -q "link" && echo "$XoeConfig" | grep -q "^web:$Service:" ; then
			echo "directory:web:web-$Service: and web:$Service: trouves"
			XoeDirLine=`echo "$XoeConfig" | grep  "^directory:web:$Service:"`
			XoeWebLine=`echo "$XoeConfig" | grep  "^web:$Service" | cut -f2- | sed s/webfor6/$Service/ | sed s/web603/$Service/ | sed s!/web-!/!`
			xoe --config -cancel -directory web web-$Service
			xoe --config -new -directory web $Service wget http://download.sisalp.net/openerp-web-6.0.uptodate.tar.gz client-web http://download.sisalp.net/SISalp.company_logo.png
			xoe --config -new -directory specific $Service wget http://download.sisalp.net/specific-web-6.0.uptodate.tar.gz specific
			xoe --config -cancel -web $Service
			xoe --config -new -web $Service $XoeWebLine
		fi
	done
	;;
*)
	for Directory in $DirectoryList ; do
		case "$Blabla" in
		*blabla*)
			echo ""
			echo "repertoire $Directory"
			echo "---------------------"
			if [ -d ~/openerp/$Directory ] ; then
				echo "repertoire ~/openerp/$Directory existe"
			fi
			if ! echo "$XoeConfig" | grep  "^directory:web:$Directory:" ; then
				echo "repertoire $Directory non declare"
			fi
			if ! xoe --web -version $Directory ; then
				echo "repertoire $Directory non operationnel"
			fi
			;;
		esac
		if echo "$XoeConfig" | grep  -q "^directory:web:$Directory:" && ! echo "$XoeConfig" | grep  "^web:" | grep -q "/$Directory/" ; then
			case "$Option" in
			--cancel)
				case "$Auto" in
				*auto*)
					xoe --config -cancel -directory web $Directory
					xoe --config -cancel -directory specific $Directory
					echo "Repertoire $Directory retire de la configuration"
					;;
				*)
					echo "Repertoire $Directory declare non utilise"
					echo  -n "Retirer $Directory de la configuration ? <Y/N> : "
					read Valide
					echo ""
					case "$Valide" in
					y|Y)
						xoe --config -cancel -directory web $Directory
						xoe --config -cancel -directory specific $Directory
						;;
					esac
					;;
				esac
				;;
			--list)
				echo "Repertoire $Directory declare non utilise"
				;;
			*)
				case "$Blabla" in
				*blabla*)
					echo "Info: repertoire $Directory declare non utilise"
					;;
				esac
				;;
			esac
		fi
		if [ -d ~/openerp/$Directory ] &&  ! echo "$XoeConfig" | grep  -q "^directory:web:$Directory:" && ! xoe --web -version $Directory > /dev/null ; then
			case "$Option" in
			--list)
				echo "Repertoire a supprimer : $Directory"
				;;
			--purge)
				case "$Auto" in
				*auto*)
					echo  "Supprimer $Directory"
					rm -r ~/openerp/$Directory
					;;
				*)
					echo  -n "Supprimer $Directory ? <Y/N> : "
					read Valide
					echo ""
					case "$Valide" in
					y|Y)
						rm -r ~/openerp/$Directory
						;;
					esac
					;;
				esac
				;;
			esac
		else
			echo "Repertoire conserve : $Directory"
		fi
	done
	;;
esac
exit 0
