Dvb script gui/inst code

Aus Linupedia.org
Wechseln zu: Navigation, Suche
Vom DVB zur DVD, die GUI: Anleitungen - Installation - GUI-Kommanderscript - Arbeitsscript - Dokumentation


#!/bin/bash

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

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

#++++++++++++++++++++++++++++++++++++++++++++++++++++++++Anleitung +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
#In einem beliebigen Ordner im persönlichen Heimatverzeichnis wird eine Textdatei (Editor) erstellt.
#Der Code des Installations-Scriptes wird in diese Textdatei kopiert.
#Die Textdatei wird ausführbar gemacht.

#In der Funktion "default ()" können vom User einige Default-Einstellungen angepasst werden.

#jetzt kann das Installationsscript gestartet werden. Das Script bitte in einem Terminal ausführen!
 
#°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°Initialisierung°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°

default ()
{
echo "Default-Einstellungen laden"
aufnahmeordner=~/Aufnahme #In "~/Aufnahme" wird nach den aufgenommenen Video-files gesucht
schablonenordner=~/Druckschablonen # Im Ordner "~/Druckschablonen" wird nach den Schablonen für den Direktdruck mit OpenOffice gsucht
clipordner=~/Videoclips #Das Verzeichnis "~/Videoclips" dient als Speicherort für die Videoclips
}

verzeichnisstruktur_inifiles ()
{
echo "Verzeichnisstruktur ini-file erzeugen"
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
touch ~/.dvb_script_gui.ini/aufnahmeordner
touch ~/.dvb_script_gui.ini/schablonenordner
touch ~/.dvb_script_gui.ini/X.ini.film
touch ~/.dvb_script_gui.ini/clipordner

mkdir ~/.dvb_script_gui.ini/hilfsprogramme
}

default_sichern ()
{
echo "Default-Einstellungen sichern"
echo ${aufnahmeordner} > ~/.dvb_script_gui.ini/aufnahmeordner
echo ${schablonenordner} > ~/.dvb_script_gui.ini/schablonenordner
echo ${clipordner} > ~/.dvb_script_gui.ini/clipordner
}

hauptverzeichnis_festlegen ()
{
echo "Auswahl des Hauptverzeichnisses"
auswahl=`kdialog --caption "Name des Hauptverzeichnisses eingeben" --inputbox ~/ DVB_Script_neu`
	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_files ()
{
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 ()
{
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 ()
{
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 "Die Programmdateien findet man hier: <Link>"
echo "Der Kommander-Code wird in die Textdatei <\${hauptverzeichnis}/gui/guicode.kmdr> kopiert"
echo "Der Bashscript-Code wird in die Textdatei <\${hauptverzeichnis}/script/scriptcode.sh> kopiert"
echo "Danach werden die beiden Textdateien ausführbar gemacht"
echo ""
echo "Das Programm kann nun über die Desktop-Datei im Verzeichnis ~/Desktop gestartet werden"
echo ""
echo "Viel Spass beim ausprobieren"
}

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

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

default
verzeichnisstruktur_inifiles
default_sichern
hauptverzeichnis_festlegen
verzeichnisstruktur_hauptfiles
ini_files
hilfsprogramme
desktop_datei
hinweis

echo "" ; echo "Installation beendet"

kdialog --msgbox "fertig"