#! /bin/sh
### BEGIN INIT INFO
# Provides: Subliminal application instance
# date: 02-12-2013
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts instance of Subliminal
# Description: starts instance of Subliminal using start-stop-daemon
### END INIT INFO
############### EDIT ME ##################
QPKG_NAME=Subliminal
QPKG_DIR=
DAEMON=/opt/bin/python2.7
DAEMON_OPTS="/share/MD0_DATA/.qpkg/Optware/local/bin/subliminal -l nl en -a 8w -c /share/MD0_DATA/.qpkg/Subliminal/subliminal.cache.dbm --log-file /share/MD0_DATA/Download/Subliminal_log.txt -v"
MOVIE_DIRECTORY="/share/MD0_DATA/TV Shows/"

add_cron(){
#adds the subtitle finderjob to the crontab
        if [ x"$(/bin/cat /etc/config/crontab | /bin/grep "subliminal")" = x ]; then
               /bin/echo "15 */2 * * * ${DAEMON} ${DAEMON_OPTS} \"${MOVIE_DIRECTORY}\"" >> /etc/config/crontab
        fi
        #restart crontab
        /usr/bin/crontab /etc/config/crontab
}

remove_cron(){
#removes the update job from the crontab
        if [ -n "$(/bin/cat /etc/config/crontab | /bin/grep "/subliminal")" ]; then
               /bin/sed -i '/subliminal/d' /etc/config/crontab
        fi
        #restart crontab
        /usr/bin/crontab /etc/config/crontab
}

update_subliminal(){
#update subliminal to last version from git
	cd /share/MD0_DATA/.qpkg/Subliminal/subliminal
	git fetch origin
	reslog=$(git log HEAD..origin/master --oneline)
	if [[ "${reslog}" != "" ]] ; then
		echo "Updating Subliminal to newest version from Git!"
		git pull
		echo "Install new version"
		export PYTHONPATH=/opt/local/lib/python2.5/site-packages
		${DAEMON} setup.py install
	else
		echo "no update available"
	fi
}


case "$1" in
start)
	echo "Starting $QPKG_NAME"
	
	if [ `/sbin/getcfg ${QPKG_NAME} Enable -u -d FALSE -f /etc/config/qpkg.conf` = UNKNOWN ]; then
		/sbin/setcfg ${QPKG_NAME} Enable TRUE -f /etc/config/qpkg.conf
	elif [ `/sbin/getcfg ${QPKG_NAME} Enable -u -d FALSE -f /etc/config/qpkg.conf` != TRUE ]; then
		echo "${QPKG_NAME} is disabled."
		exit 1
	fi
	#remove log file
	rm  /share/MD0_DATA/Download/Subliminal_log.txt
	
	update_subliminal
	
	/bin/echo "Running Subliminal now with the following arguments:"
	/bin/echo ${DAEMON} ${DAEMON_OPTS} ${MOVIE_DIRECTORY}
	${DAEMON} ${DAEMON_OPTS} "${MOVIE_DIRECTORY}"
        
	/bin/echo "Add Subliminal to the crontab to run every few hours"
        add_cron
	;;

stop)
	echo "Stopping $QPKG_NAME"
	remove_cron
	for pid in $(/bin/pidof python); do
	/bin/grep -q "subliminal" /proc/$pid/cmdline && /bin/kill $pid
	done
	/bin/sleep 2
	;;

restart|force-reload)
	echo "Restarting $QPKG_NAME"
	$0 stop
	$0 start
	;;

*)
N=/etc/init.d/$QPKG_NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac
exit 0

