#!/bin/bash

cd $(dirname $0)

main()
	{
Xdialog --no-tags --title "BashPodder GUI" --menu "Main Menu" 25 40 10 \
1 "Add A Podcast" \
2 "Edit A Podcast" \
3 "Remove A Podcast" \
4 "Re-Import Podcast List" \
5 "Edit Crontab (Be Careful)" \
6 "View/Launch Downloaded Podcasts" \
7 "Launch BashPodder Download Client"
	}

viewlaunch()
	{
launchit=$(Xdialog --title "Double Click To Select!" --fselect "" 30 100 2>&1)
b1=$(basename "$launchit" .mp3)
b2=$(basename "$launchit")
if [ "$b1" != "$b2" ]
	then
	xmms "$launchit" &
fi
b1=$(basename "$launchit" .torrent)
b2=$(basename "$launchit")
filepath=${launchit%/*}
if [ "$b1" != "$b2" ]
	then
	xterm -e "cd $filepath; btdownloadcurses.py '$launchit'" &
fi
b1=$(basename "$launchit" .m3u)
b2=$(basename "$launchit")
if [ "$b1" != "$b2" ]
	then
	xmms "$launchit" &
fi
	}

## START SCRIPT PROPER HERE
menucommand="1"
while [ "$menucommand" != "" ]
do
menucommand=$(main 2>&1)

## ADD A PODCAST
if [ "$menucommand" == "1" ]
        then
	name=""; url=""
	ret=$(Xdialog --separator "|" --2inputsbox "Edit Podcast" 20 100 "NAME" "$name" "URL" "$url" 2>&1)
	if [ "$ret" != "" ]
		then
		newname=$(echo $ret | cut -d"|" -f1)
		newurl=$(echo $ret | cut -d"|" -f2)
		echo "$newurl" >> bp.conf
		cp pselect.mnu pselect.mnu.new
		echo "pselect() {" > pselect.mnu
		echo " Xdialog --title 'BashPodder GUI' --menu 'Podcast Selection' 30 100 10 \\" >> pselect.mnu
		echo "\"$newname\" \"$newurl\" \\" >>  pselect.mnu
		grep \" pselect.mnu.new >> pselect.mnu
		echo "" >> pselect.mnu
		echo "}" >> pselect.mnu
		rm pselect.mnu.new
	fi
fi


## EDIT A PODCAST
if [ "$menucommand" == "2" ]
	then
	source pselect.mnu
	name=$(pselect 2>&1); url=$(grep "$name" pselect.mnu | cut -d"\"" -f4)
	if [ "$name" != "" ]
	        then
		ret=$(Xdialog --separator "|" --2inputsbox "Edit Podcast" 20 100 "NAME" "$name" "URL" "$url" 2>&1)
		if [ "$ret" != "" ]
			then
			newname=$(echo $ret | cut -d"|" -f1)
			newurl=$(echo $ret | cut -d"|" -f2)
			grep -v "$url" bp.conf > bp.conf.new
			echo "$newurl" >> bp.conf.new
			mv bp.conf.new bp.conf
			grep -v "$url" pselect.mnu > pselect.mnu.new
			echo "pselect() {" > pselect.mnu
			echo " Xdialog --title 'BashPodder GUI' --menu 'Podcast Selection' 30 100 10 \\" >> pselect.mnu
			echo "\"$newname\" \"$newurl\" \\" >>  pselect.mnu
			grep \" pselect.mnu.new >> pselect.mnu
			echo "" >> pselect.mnu
			echo "}" >> pselect.mnu
			rm pselect.mnu.new
		fi
	fi
fi

## REMOVE A PODCAST
if [ "$menucommand" == "3" ]
	then
	source pselect.mnu
	name=$(pselect 2>&1); url=$(grep "$name" pselect.mnu | cut -d"\"" -f4)
	if [ "$name" != "" ]
	        then
		grep -v "$url" bp.conf > bp.conf.new
		mv bp.conf.new bp.conf
		grep -v "$url" pselect.mnu > pselect.mnu.new
		mv pselect.mnu.new pselect.mnu
	fi
fi

## CONVERT FROM BP.CONF
if [ "$menucommand" == "4" ]
	then
	Xdialog --title "BashPodder" --msgbox "Converting from bp.conf PELASE WAIT..." 10 50 &
	sh convert.sh
	Xdialog --title "BashPodder" --msgbox "DONE!" 10 50
fi

## EDIT YORU CRONTAB
if [ "$menucommand" == "5" ]
	then
	xterm -e crontab -e 
fi

## VIEW / LAUNCH DOWNLOADED PODCASTS
if [ "$menucommand" == "6" ]
	then
	viewlaunch
fi

## START UP BASHPODDER
if [ "$menucommand" == "7" ]
	then
	sh bashpodder.shell &
	Xdialog --title "BashPodder" --msgbox "Running BashPodder Now..." 10 50
fi
done

