#! /bin/sh

twistd=/usr/bin/twistd
reactor=poll

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
name=poker-network
desc='poker server '

python=/usr/bin/python

lockfile=/etc/poker-network/lockfile

serverpidfile=/var/run/poker-network-server.pid
serverlogfile=/var/log/poker-network-server.log
serverscript=/usr/lib/python/site-packages/pokernetwork/pokerserver.py
if ! test -f $serverscript ; then
    serverscript=/usr/share/pycentral/python-poker-network/site-packages/pokernetwork/pokerserver.py
fi

botpidfile=/var/run/poker-network-bot.pid
botlogfile=/var/log/poker-network-bot.log
botscript=/usr/lib/python/site-packages/pokernetwork/pokerbot.py
if ! test -f $botscript ; then
    botscript=/usr/share/pycentral/python-poker-network/site-packages/pokernetwork/pokerbot.py
fi

more_args=--no_save

test -x ${twistd} || exit 0
test -r ${serverscript} || exit 0
test -r ${botscript} || exit 0

set -e

case "$1" in
  start)
	echo -n "Starting ${desc}: "
	if [ -f $lockfile ]; then
	    echo " not configured, abort."
	    exit 0;
	fi
	${python} ${twistd} \
	    --pidfile=${serverpidfile} --python ${serverscript} \
	    --logfile=${serverlogfile} --quiet ${more_args} \
	    --reactor=${reactor}
	${python} ${twistd} \
	    --pidfile=${botpidfile} --python ${botscript} \
	    --logfile=${botlogfile} --quiet ${more_args} \
	    --reactor=${reactor}
	echo ${name}
	;;
  stop)
	echo -n "Stopping poker server ..."
	start-stop-daemon --stop --quiet --retry forever/-2/3 --pidfile=${serverpidfile} || true
	echo " done."
	echo -n "Stopping poker bots ..."
	start-stop-daemon --stop --quiet --retry forever/-2/3 --pidfile=${botpidfile} || true
	echo "done"
	;;
  rebot)
	echo -n "Stopping poker bots ..."
	start-stop-daemon --stop --quiet --retry forever/-2/3 --pidfile=${botpidfile} || true
	echo "done"
	echo -n "Wait 10 minutes ..."
        sleep 600
	echo "done"
	echo -n "Starting poker bots ..."
	${python} ${twistd} \
	    --pidfile=${botpidfile} --python ${botscript} \
	    --logfile=${botlogfile} --quiet ${more_args} \
	    --reactor=${reactor}
	echo "done"
	;;
  restart|force-reload)
	#
	#	If the "reload" option is implemented, move the "force-reload"
	#	option to the "reload" entry above. If not, "force-reload" is
	#	just the same as "restart".
	#
	$0 stop
	$0 start
	;;
  *)
	N=/etc/init.d/$NAME
	echo "Usage: $N {start|stop|restart|force-reload|rebot}" >&2
	exit 1
	;;
esac

exit 0
