#!/bin/sh
#
#cobra api for web
source /etc/rc.d/init.d/functions
export PYTHONPATH=$PYTHONPATH:/opt/cobra/cobra
apipidfile="/opt/cobra/cobra/cobraapi.pid"
apibin="/opt/cobra/cobra/src/Api.py"
logfile="/opt/cobra/cobra/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 1
	fi
	echo "Starting cobraapi:"
	exec python $apibin  >$logfile  2>&1 &
	sleep 1
	if ps -p $! > /tmp/test 2>&1; then
		touch $apipidfile
		echo $! > $apipidfile
		echo "Starting cobraapi done"
		return 0
        else
                echo "CobraApi start failed.See details in /tmp/cobraapi.log"
                return 1
        fi
	return 0
}

stop(){
	if [ -f $apipidfile ];then
		stopapipid=`cat $apipidfile`
	fi
	$0 status > /dev/null
        if [ $? -eq 1 ];then
                echo "CobraApi is not running"
                return 1
	fi
	kill $stopapipid >/dev/null 2>&1
	if [ $? -eq 0 ];then
                echo "CobraApi has been stopped."
		rm -f $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
