#!/bin/bash

### BEGIN INIT INFO
# Provides:          airtime-playout
# Required-Start:    $local_fs $remote_fs $network $syslog
# Required-Stop:     $local_fs $remote_fs $network $syslog
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Manage airtime-playout daemon
### END INIT INFO

USERID=root
NAME="Airtime Scheduler Engine"

DAEMON=/usr/lib/airtime/pypo/bin/airtime-playout
PIDFILE=/var/run/airtime-playout.pid

start () {
        chown pypo:pypo /etc/airtime
        chown pypo:pypo /etc/airtime/liquidsoap.cfg
    
        start-stop-daemon --start --background --quiet --chuid $USERID:$USERID --make-pidfile --pidfile $PIDFILE --startas $DAEMON
        monit monitor airtime-playout >/dev/null 2>&1
}

stop () {
        # Send TERM after 5 seconds, wait at most 30 seconds.
        
        monit unmonitor airtime-playout >/dev/null 2>&1
        start-stop-daemon --stop --oknodo --retry TERM/5/0/30 --quiet --pidfile $PIDFILE
        rm -f $PIDFILE
}

start_no_monit() {
        start-stop-daemon --start --background --quiet --chuid $USERID:$USERID --make-pidfile --pidfile $PIDFILE --startas $DAEMON        
}

case "${1:-''}" in
  'start')
            # start commands here
            echo -n "Starting $NAME: "
            start
            echo "Done."
        ;;
  'stop')
            # stop commands here
            echo -n "Stopping $NAME: "
            stop
            echo "Done."
        ;;
  'restart')
           # restart commands here
           echo -n "Restarting $NAME: "
           stop
           start
           echo "Done."
        ;;
  'start-no-monit')
           # restart commands here
           echo -n "Starting $NAME: "
           start_no_monit
           echo "Done."
        ;;
  'status')
           # status commands here
           /usr/bin/airtime-check-system
        ;;
  *)      # no parameter specified
        echo "Usage: $SELF start|stop|restart|status"
        exit 1
        ;;

esac