#!/bin/bash
#
# Dieses Script überträgt Aufnahmedaten vom
# TV-Browser zu Kaffeine

# Konfiguration
kaffeine
lArgumente=8

# Wenn zu wenig Parameter angegeben werden abbrechen
if (( $# < $lArgumente )) ; then
        echo "Nicht genügend Parameter übergeben."
	exit 3
fi

# Wenn genau 8 Parameter übergeben werden ist der 9. der Name
if (( $# == $lArgumente )) ; then
	strJahr=$1
	strMonat=$2
	strTag=$3
	strStunde=$4
	strMinute=$5
	strLaenge=$6
	strKanal=$7
	strTitle=$8
fi

# Wenn mehr als 8 Parameter, gehören die Überschüssigen zum Namen
if (( $# > $lArgumente )) ; then
	strJahr=$1
	shift
	strMonat=$1
	shift
	strTag=$1
	shift
	strStunde=$1
	shift
	strMinute=$1
	shift
	strLaenge=$1
	shift
	strKanal=$1
	shift
	while [ ! -z "$1" ]
	do
		strTitle=$strTitle"_"$1
		shift
	done
fi

# Monatszahl nur einstellig?

if (( ${#strMonat} < 2 )) ; then
	strMonat="0"$strMonat
fi

# Tagzahl nur einstellig?

if (( ${#strTag} < 2 )) ; then
	strTag="0"$strTag
fi

# StartStunde nur einstellig?

if (( ${#strStunde} < 2 )) ; then
	strStunde="0"$strStunde
fi

# Startminute nur einstellig?

if (( ${#strMinute} < 2 )) ; then
	strMinute="0"$strMinute
fi

# Teile für Befehl bauen
strName=$strJahr"-"$strMonat"-"$strTag"_"$strStunde"-"$strMinute"_"$strTitle
strZeitpunkt=$strJahr"-"$strMonat"-"$strTag"T"$strStunde":"$strMinute":00"
strDauerStunden=$(($strLaenge/60))
if (( ${#strDauerStunden} < 2 )) ; then
	strDauerStunden="0"$strDauerStunden
fi
strDauerMinuten=$(($strLaenge%60))
if (( ${#strDauerMinuten} < 2 )) ; then
	strDauerMinuten="0"$strDauerMinuten
fi
strDauer=$strDauerStunden":"$strDauerMinuten":00"

# Aufruf des Kaffeine-Interface
dcop kaffeine KaffeineIface dvbNewTimer "$strName" "$strKanal" "$strZeitpunkt" "$strDauer"

# Rückgabe an den TV-Browser
echo "Name:"$strName";Kanal:"$strKanal";Zeit:"$strZeitpunkt";Dauer:"$strDauer

#Anmerkung: Falls Kaffeine beendet werden soll:
#dcop kaffeine MainApplication-Interface quit
#anschließend kann die Datei
# ~/.kde/share/apps/kaffeine/timers.dvb
#gelöscht werden (oder die Zeile)