#!/bin/bash

export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

BASENAME="${0##*/}"
ACTION="$1"
MOUNT_POINT="$2"

transmission_try_start() {
    . /etc/default/transmission-daemon
    if [ $(expr "${BASE_DIR}/" : "${MOUNT_POINT}/") -gt 0 ]; then
	sed -r 's/^ENABLE_DAEMON=.*$/ENABLE_DAEMON=1/' < /etc/default/transmission-daemon > /tmp/.transmission-daemon.$$
	cat /tmp/.transmission-daemon.$$ > /etc/default/transmission-daemon
	rm  /tmp/.transmission-daemon.$$
	if [ "$(pidof transmission-daemon)" != "" ]; then
	    killall -9 transmission-daemon 2>&1 >/dev/null
	    sleep 1
	fi
	xMASK=$(umask); umask 0000
	[ ! -d "${BASE_DIR}"     ] && mkdir -p "${BASE_DIR}"
	[ ! -d "${CONFIG_DIR}"   ] && mkdir -p "${CONFIG_DIR}"
	[ ! -d "${DOWNLOAD_DIR}" ] && mkdir -p "${DOWNLOAD_DIR}"
	[ ! -d "${WATCH_DIR}"    ] && mkdir -p "${WATCH_DIR}"
	[ ! -f "${CONFIG_DIR}/settings.json" ] && cp "/var/lib/transmission/settings.json.template" "${CONFIG_DIR}/settings.json" 
	umask ${xMASK}
	/etc/init.d/transmission-daemon start 2>&1 >/dev/null
    fi
}

transmission_try_stop() {
    . /etc/default/transmission-daemon
    if [ $(expr "${BASE_DIR}/" : "${MOUNT_POINT}/") -gt 0 ]; then
	sed -r 's/^ENABLE_DAEMON=.*$/ENABLE_DAEMON=0/' < /etc/default/transmission-daemon > /tmp/.transmission-daemon.$$
	cat /tmp/.transmission-daemon.$$ > /etc/default/transmission-daemon
	rm  /tmp/.transmission-daemon.$$
	if [ "$(pidof transmission-daemon)" != "" ]; then
	    killall -9 transmission-daemon 2>&1 >/dev/null
	fi
    fi
}

logger -t $BASENAME "$@ --> BEGIN"

case "$1" in
    add)
	transmission_try_start
    ;;
    remove)
	transmission_try_stop
    ;;
    *)
	echo "Use: $0 (add|remove) /mount/point"
esac

logger -t $BASENAME "$@ --> END"
