#!/bin/sh
#
#cobra api for web
source /etc/rc.d/init.d/functions
export PYTHONPATH=$PYTHONPATH:/opt/cobra/cobra-api
export PYTHONPATH=$PYTHONPATH:/usr/local/python2.7/lib64/site-packages
export PYTHONPATH=$PYTHONPATH:/usr/local/python2.7/lib
export PYTHONPATH=$PYTHONPATH:/usr/local/python2.7/lib64
export PYTHONPATH=$PYTHONPATH:/usr/local/python2.7/lib/site-packages
apipidfile="/opt/cobra/cobra-api/cobraapi.pid"
apibin="/opt/cobra/cobra-api/src/Api.py"
logfile="/opt/cobra/cobra-api/cobraapi.log"
# check Api is exists
if [ ! -f $apibin ];then
	echo "Executable file $apibin not found.  Exiting."
	exit 1
fi

status(){
	if [ -f $apipidfile ];then
		stauspid=`cat $apipidfile`
	else
		stauspid=''
	fi
	if ps -p $stauspid > /dev/null 2>&1; then
		echo "CobraApi is running"
		exit  0
	else
		echo "CobraApi is not running"
		exit 1 
	fi
#	exit 0	
}
start(){
	#check if api is already running
	$0 status > /dev/null
	if [ $? -eq 0 ];then
		echo "CobraApi is already running"
		return 0
	else
                echo -n $"Starting cobraapi: "
		exec python $apibin  >>$logfile  2>&1 &
		sleep 5
                pgrep -f "python /opt/cobra/cobra-api/src/Api.py" > /dev/null 2>&1
                ret=$?
	  	if [ $ret -eq 0 ]; then
			touch $apipidfile
			echo $! > $apipidfile
                        success
                        echo 
                        exit 0
           	else
                        failure
                	#echo "CobraApi start failed.See details in /opt/cobra/cobra-api/cobraapi.log"
                	echo 
                        exit 1
           	fi
         fi
}

stop(){
	if [ -f $apipidfile ];then
		stopapipid=`cat $apipidfile`
	fi
	$0 status > /dev/null
        if [ $? -eq 1 ];then
                echo "CobraApi is not running"
                return 0
	fi
	kill $stopapipid >/dev/null 2>&1
	if [ $? -eq 0 ];then
                echo "CobraApi has been stopped."
		rm -rf $apipidfile
                return 0
	else 
		echo "CobarApi stopped failed"
		return 1
        fi	
}

restart(){
	stop
	start
}
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  restart)
        restart
        ;;
  status)
        status
        ;;

  *)
	echo $"Usage: $0 {start|stop|restart|status}"
esac
exit 0
