#!/bin/bash

shopt -s nocasematch
idx=0
pIdx=0
cmplUrl=""
cmplFile=""
maxServerTries=0
maxServerQueuingTime=0
isRemote=0
cmplJava=0

progPath="`dirname \"$0\"`"
if [[ $progPath = "." ]] ; then
	progPath="" 
else
	progPath=$progPath/
fi


while [ $# -gt 0 ] ; do
	idx=$(($idx+1))
	
   if [[ $1 = "-cmplurl" ]] ; then
	  	shift 1
     	idx=$(($idx+1))
    	cmplUrl=$1
   elif [[ $1 = "-maxservertries" ]] ; then
	  	shift 1
     	idx=$(($idx+1))
    	maxServerTries=$1
   elif [[ $1 = "-maxqueuingtime" ]] ; then
	  	shift 1
     	idx=$(($idx+1))
    	maxServerQueuingTime=$1
   elif [[ $1 = "-i" ]] ; then
     	shift 1
     	idx=$(($idx+1))
    	cmplFile=`echo $1 | tr ' ' '\ '`
   elif [[ $1 = "-remote" ]] ; then
     	isRemote=1
     	pIdx=$(($pIdx+1))
     	cArg[$pIdx]=$1
   elif [[ $1 = "-cmpljava" ]] ; then
		cmplJava=1
   elif  [ $idx -eq 1 ] && [ ! ${1:0:1} = "-" ]; then
    	cmplFile=`echo $1 | tr ' ' '\ '`
   else
    	pIdx=$(($pIdx+1))
       	cArg[$pIdx]=$1
   fi
  
   shift 1
done

if ! test -f "$cmplFile"; then
		echo "Cannot find Cmpl file: $cmplFile"
		exit -1
fi


shopt -u nocasematch

if [[ $isRemote -eq 0 ]] ; then 


	if [ -z "$cmplUrl" ]  ; then
		if [ -n "$cmplFile" ] ; then
			arr=(`grep -i "cmplurl" "$cmplFile"`)
			if [ ! ${arr[0]:0:1} = "#" ]; then
				cmplUrl=${arr[2]}
			fi
		fi
	fi

	if [ $maxServerTries -eq 0 ]  ; then
		if [ -n "$cmplFile" ] ; then
			arr=(`grep -i "maxservertries" "$cmplFile"`)
			if [ ! ${arr[0]:0:1} = "#" ]; then
				maxServerTries=${arr[2]}
			fi
		fi
	fi

	if [ $maxServerQueuingTime -eq 0 ]  ; then
		if [ -n "$cmplFile" ] ; then
			arr=(`grep -i "maxqueuingtime" "$cmplFile"`)
			if [ ! ${arr[0]:0:1} = "#" ]; then
				maxServerQueuingTime=${arr[2]}
			fi
		fi
	fi


else
	cmplUrl=""	
	maxServerTries=0
	maxServerQueuingTime=0
fi
   

LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${progPath}bin/"
export LD_LIBRARY_PATH

if [ -n "$cmplUrl" ] && [ -n "$cmplFile" ]  ; then
	export PYTHONPATH=$PYTHONPATH:"$progPath"pyCmpl/lib
	export PYTHONSTARTUP="$progPath"pyCmpl/pyCmplShell.py
	export CMPLBINARY="$progPath"bin/cmpl
	
	
	echo "Solving $cmplFile on $cmplUrl has started ... "
	python "$progPath"pyCmpl/scripts/cmplOnServer.py "$cmplFile" $cmplUrl $maxServerTries $maxServerQueuingTime "${cArg[1]}" "${cArg[2]}" "${cArg[3]}" "${cArg[4]}" "${cArg[5]}" "${cArg[6]}" "${cArg[7]}" "${cArg[8]}" "${cArg[9]}" "${cArg[10]}" "${cArg[11]}" "${cArg[12]}" "${cArg[13]}" "${cArg[14]}" "${cArg[15]}" "${cArg[16]}" "${cArg[17]}" "${cArg[18]}" "${cArg[19]}" "${cArg[20]}"

else 
	"$progPath"bin/cmpl  "$cmplFile" "${cArg[1]}" "${cArg[2]}" "${cArg[3]}" "${cArg[4]}" "${cArg[5]}" "${cArg[6]}" "${cArg[7]}" "${cArg[8]}" "${cArg[9]}" "${cArg[10]}" "${cArg[11]}" "${cArg[12]}" "${cArg[13]}" "${cArg[14]}" "${cArg[15]}" "${cArg[16]}" "${cArg[17]}" "${cArg[18]}" "${cArg[19]}" "${cArg[20]}"
fi











