Dvb script gui/inst code

Aus Linupedia.org
Version vom 18. Oktober 2008, 20:27 Uhr von Escho (Diskussion | Beiträge) (Straffung des Codes)
Wechseln zu: Navigation, Suche
Vom DVB zur DVD, die GUI: Anleitungen - Installation - GUI-Kommanderscript - Arbeitsscript - Dokumentation


Höhe=24px
Achtung dieser Artikel ist noch in Arbeit und dient vorläufig nur als Vorlage. Dieser Beitrag zu Linux oder der Abschnitt ist in Bearbeitung. Weitere Informationen findest du hier. Der Ersteller arbeitet an dem Beitrag oder Abschnitt und entsorgt den Wartungsbaustein spätestens 3 Tage nach der letzten Bearbeitung. Änderungen außer Rechtschreibkorrekturen ohne Absprache mit dem Urspungsautor sind möglichst zu vermeiden, solange dieser Baustein noch innerhalb der genannten Frist aktiviert ist.
#!/bin/bash

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++BESCHREIBUNG +++++++++++++++++++++++++++++++++++++++++++++++++++++++

#Name: dvb_script_gui_installation
#Version: 0.0.3
#Erstellungsdatum: 18.10.2008
#Autor: escho (www.linux-club.de)
#Funktion: Installation und Initialisierung des Programms dvb_script_gui
#Benutzung auf eigene Gefahr

#°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°Initialisierung°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°

defaultwerte_laden ()
{
echo "Benutzerdefinierte Default-Werte laden"
aufnahmeordner=~/Aufnahme
schablonenordner=~/Druckschablonen
clipordner=~/Videoclips
}

verzeichnisstruktur_inifiles ()
{
echo "Erstellen der Initialisierungs-Verzeichnisstruktur"

mkdir ~/.dvb_script_gui.ini

touch ~/.dvb_script_gui.ini/fortschrittfenster
touch ~/.dvb_script_gui.ini/debugfenster
touch ~/.dvb_script_gui.ini/pfad_hauptverzeichnis
touch ~/.dvb_script_gui.ini/X.ini.film

echo ${aufnahmeordner} > ~/.dvb_script_gui.ini/aufnahmeordner
echo ${schablonenordner} > ~/.dvb_script_gui.ini/schablonenordner
echo ${clipordner} > ~/.dvb_script_gui.ini/clipordner

mkdir ~/.dvb_script_gui.ini/hilfsprogramme
}

hauptverzeichnis_festlegen ()
{
echo "Auswahl des Hauptverzeichnisses"
auswahl=`kdialog --caption "Name des Hauptverzeichnisses eingeben" --inputbox ~/DVB_Script`
	if [ $? = 0 ]
	then
		hauptverzeichnis=~/`echo $auswahl | tr -d " "`
		if [ -e ${hauptverzeichnis} ]
		then
			kdialog --passivepopup "Verzeichnis existiert schon!
Das Verzeichnis löschen oder ein anderes Verzeichnis wählen!
Installation wird abgebrochen!" 60
			exit
		else
			echo ${hauptverzeichnis} > ~/.dvb_script_gui.ini/pfad_hauptverzeichnis
			return
		fi
		
	else
		kdialog -- error "Abbruch durch den Benutzer! Installation wird abgebrochen!"
	fi
}

verzeichnisstruktur_hauptfiles ()
{
echo "Erstellen der Haupt-Verzeichnisstruktur"

mkdir ${hauptverzeichnis}

mkdir ${hauptverzeichnis}/gui
touch ${hauptverzeichnis}/gui/guicode.kmdr

mkdir ${hauptverzeichnis}/script
touch ${hauptverzeichnis}/script/scriptcode.sh

mkdir ${hauptverzeichnis}/save
mkdir ${hauptverzeichnis}/screenshot

mkdir ${hauptverzeichnis}/temp
mkdir ${hauptverzeichnis}/temp/tmp1
mkdir ${hauptverzeichnis}/temp/tmp2
mkdir ${hauptverzeichnis}/temp/struktur

if [ ! -e ${aufnahmeordner} ] ; then mkdir ${aufnahmeordner} ; fi
if [ ! -e ${schablonenordner} ] ; then mkdir ${schablonenordner} ; fi
if [ ! -e ${clipordner} ] ; then mkdir ${clipordner} ; fi
}

ini_file_pjx ()
{
echo "X.ini für ProjectX erzeugen"
echo \
"# Application
Application.Agreement=1
Application.Language=de

# WindowPosition
WindowPosition.Main.Height=670
WindowPosition.Main.Width=866
WindowPosition.Main.X=500
WindowPosition.Main.Y=0

# OptionPanel
OptionPanel.NormalLog=0
OptionPanel.closeOnEnd=1" \
>~/.dvb_script_gui.ini/X.ini.film
}

hilfsprogramme_abfragen ()
{
name[0]=mplex
name[1]=tcrequant
name[2]=dvdauthor
name[3]=ProjectX.jar
name[4]=normalize
name[5]=ffmpeg
name[6]=growisofs
name[7]=vlc
name[8]=mplayer

echo "Suche der Hilfsprogramme, kann etwas dauern!"
echo ""

for ((i=0 ; i<9 ; i++))
do
	touch ~/.dvb_script_gui.ini/hilfsprogramme/pfad[$i]
	pfad[i]=`cat ~/.dvb_script_gui.ini/hilfsprogramme/pfad[$i]`

	if [ ! -e ${pfad[i]}/${name[i]} ]
	then
		echo "${name[i]} wird gesucht"
		gefundene_pfade=`find /bin $HOME /opt /usr -type f -name ${name[i]} -printf "%h " 2>/dev/null`
		pfadzahl=`echo "$gefundene_pfade" | wc -w`

		case "$pfadzahl" in

			0)	kdialog -passivepopup "Das Programm wurde nicht gefunden. Bitte zuerst installieren." 60
				exit ;;

			1)	echo $gefundene_pfade > ~/.dvb_script_gui.ini/hilfsprogramme/pfad[$i] ;;

			*)	auswahl=`kdialog --caption "${name[i]}" --combobox "Bitte Pfad auswählen" $gefundene_pfade --default $gefundene_pfade`
				if [ $? = 0 ]
				then
					echo ${auswahl} > ~/.dvb_script_gui.ini/hilfsprogramme/pfad[$i]
				else
					kdialog -- passivepopup "Abbruch durch den Benutzer! Installation wird abgebrochen!" 60
					exit
				fi ;;
		esac
	fi
done
}

desktop_datei_anlegen ()
{
echo "Desktop-Datei erzeugen in ~/Desktop"
echo \
"[Desktop Entry]
Comment[de]=
Comment=
Exec=kmdr-executor ${hauptverzeichnis}/gui/guicode.kmdr
GenericName[de]=
GenericName=
Icon=kcmperformance
MimeType=
Name[de]=
Name=
Path=
StartupNotify=true
Terminal=false
TerminalOptions=
Type=Application
X-DBUS-ServiceName=
X-DBUS-StartupType=
X-KDE-SubstituteUID=false
X-KDE-Username=
X-SuSE-translate=true" \
> ~/Desktop/DVB-Script
}

hinweis ()
{
echo ""
echo "Die Installation ist fertig. Nun müssen noch die Programmdateien an die richtigen Stellen kopiert werden."
echo "Wie das funktioniert und noch einiges mehr, das steht im LC-Wiki:"
echo "http://wiki.linux-club.de/opensuse/Dvb_script_gui/anleitung"
echo ""
echo "Viel Spass beim ausprobieren"
}

#°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°Hauptprogramm°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°

echo "Installationsroutine für das DVB-Script" ; echo ""

defaultwerte_laden
verzeichnisstruktur_inifiles
hauptverzeichnis_festlegen
verzeichnisstruktur_hauptfiles
ini_file_pjx
hilfsprogramme_abfragen
desktop_datei_anlegen
hinweis

echo "" ; echo "Installation beendet"

kdialog --msgbox "fertig"