#!/bin/bash

kill_irssi(){
	echo "Killing existing irssi processes";
	killall --quiet irssi;
}

install_autodl(){
	echo "Creating directories"
		mkdir -p ~/.irssi/scripts/autorun;
	echo "Changing directory to ~/.irssi/scripts"
		cd ~/.irssi/scripts;
	echo "Downloading autodl-community release";
		wget --quiet -O ~/.irssi/scripts/autodl-irssi.zip https://github.com/autodl-community/autodl-irssi/archive/master.zip;
	echo "Extracting autodl.irssi.zip into ~/.irssi/scripts/";
		unzip -q -o ~/.irssi/scripts/autodl-irssi.zip;
		rm ~/.irssi/scripts/autodl-irssi.zip;
		mv ~/.irssi/scripts/autodl-irssi-master/AutodlIrssi ~/.irssi/scripts/AutodlIrssi;
		mv ~/.irssi/scripts/autodl-irssi-master/autodl-irssi.pl ~/.irssi/scripts/autodl-irssi.pl;
		cp ~/.irssi/scripts/autodl-irssi.pl ~/.irssi/scripts/autorun/autodl-irssi.pl;
	echo "Downloading autodl-trackers";
		wget --quiet -O ~/.irssi/scripts/autodl-trackers.zip https://github.com/autodl-community/autodl-trackers/archive/master.zip;
	echo "Extracting autodl-trackers";
		unzip -q -o ~/.irssi/scripts/autodl-trackers.zip;
		rm ~/.irssi/scripts/autodl-trackers.zip;
		mkdir -p ~/.irssi/scripts/AutodlIrssi/trackers/;
		mv ~/.irssi/scripts/autodl-trackers-master/trackers/*.tracker ~/.irssi/scripts/AutodlIrssi/trackers/;
		rm -r ~/.irssi/scripts/autodl-trackers-master;
}

configure_autodl(){
	echo "Creating autodl configuration files";
		mkdir -p ~/.autodl;
		touch ~/.autodl/autodl.cfg;
		echo "Configuring autodl";
	let AUTODLPORT=$RANDOM+10001;
	AUTODLPASS=$(tr -dc A-Za-z0-9_ < /dev/urandom | head -c 8 | xargs);
	echo -e "[options]\ngui-server-port = $AUTODLPORT\ngui-server-password = $AUTODLPASS\nrt-address = ~/.config/rtorrent/socket" >> ~/.autodl/autodl.cfg;
}

start_irssi(){
	echo "Starting irssi";
		which irssi 2> /dev/null;
		if [[ "$?" == "1" ]]; then
			echo "Unable to start: irssi isn't installed!"
		else
			screen -dmS autodl irssi
			echo "autodl-irssi started"
		fi
}

echo "Checking autodl.cfg existence"
if [[ -f ~/.autodl/autodl.cfg ]] ; then
	echo "autodl configuration already exists";
	read -p "Do you want to delete all configuration data and reinstall autodl-irssi? (y/N)" -n 1 -r;
		printf "\n";
		if [[ $REPLY =~ ^[Yy]$ ]]; then
			echo "Deleting autodl and irssi configurations";
			rm -rf ~/.autodl ~/.irssi/scripts/autodl-irssi ~/.irssi/scripts/autodl-irssi-master ~/.irssi/scripts/AutodlIrssi ~/.irssi/scripts/autodl-irssi.pl ~/.irssi/scripts/autorun/autodl-irssi.pl;
			install_autodl;
			configure_autodl;
			start_irssi;
		fi
echo "Exiting setup";
else echo "autodl configuration does not already exist";
	kill_irssi;
	install_autodl;
	configure_autodl;
	start_irssi;
fi
