#!/bin/bash
### BEGIN INIT INFO
# Provides:          deluged@###USERNAME###
# Required-Start:    $local_fs $remote_fs
# Required-Stop:     $local_fs $remote_fs
# Should-Start:      $network
# Should-Stop:       $network
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Daemonized version of deluge.
# Description:       Starts the deluge daemon for ###USERNAME###
### END INIT INFO


USER="###USERNAME###"
NAME="deluge-web@###USERNAME###"
DELUGE_WEB_BIN="/usr/bin/deluge-web"
PID_FILE="/home/###USERNAME###/.config/deluge/deluge-web.pid"


# Source function library.
. /etc/init.d/functions


start() {

    echo "Starting ${NAME}"

    echo "dmn cmd started" > "/tmp/dlgwb.$$.log"
    daemon --user "${USER}" ${DELUGE_WEB_BIN} -f -l /var/log/deluge/${USER}/web.log -L info &> /dev/null
#    su "${USER}" -c "${DELUGE_WEB_BIN} -f -l /var/log/deluge/${USER}/web.log -L info"
    echo "dmn cmd finished" > "/tmp/dlgwb.$$.log"
    sleep 3
    echo "pgrp cmd started" > "/tmp/dlgwb.$$.log"
    pgrep -u ${USER} deluge-web > "${PID_FILE}"
    echo "pgrp cmd finished" > "/tmp/dlgwb.$$.log"
}

stop() {
    echo "Stopping ${NAME}"

    [ -f "${PID_FILE}" ] \
        && kill $( cat "${PID_FILE}" | awk -F';' '{print $1}' )
    rm -f "${PID_FILE}"
}



case "$1" in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    stop
    sleep 5
    start
    ;;
  status)
    status -p "${PID_FILE}" "${NAME}"
    ;;
  *)
    echo "Usage:  ${0} start|stop|restart|status"
    ;;
esac

exit 0

