6ef94f6a1c
of <newline>. If a \<newline> pair appears, and the backslash is not itself quoted, the \<newline> is treated as a line continuation (that is, it is removed from the input stream and effectively ignored). - Ich habe einen anderen Trenner genommen '#'
158 lines
6.2 KiB
C
158 lines
6.2 KiB
C
# Calibre Auto Updater Header File
|
|
# Copyright (C) 2013-2014 Leon Gaultier
|
|
#
|
|
|
|
func_term_output () {
|
|
## Beginne mit der Ausgbe ##
|
|
tty -s && clear
|
|
echo -e "\033[44m \033[0m\033[1m $PROGNAME Version $VERSION\033[0m\n\033[44m \033[0m 2013-2014 by Leon Gaultier\n\e[m";
|
|
return 0
|
|
}
|
|
|
|
func_usage () {
|
|
func_term_output
|
|
echo "Verwendung: $PROGNAME [OPTION...]"
|
|
echo "Verwende '$PROGNAME --help' oder '$PROGNAME -h' für mehr Informationen."
|
|
return 0
|
|
}
|
|
|
|
func_help () {
|
|
func_term_output
|
|
echo "Verwende: $PROGNAME [OPTION...]"
|
|
echo "$PROGNAME -- Der Calibre! Linux Edition calibre-autoupdater (CAU)"
|
|
echo ""
|
|
echo "Options:"
|
|
echo " -h, --help zeigt die Hilfe an"
|
|
echo " -V, --version gibt die Programmversion aus"
|
|
echo " -c, --check kontrolliert ob benötigte Programme vorhanden sind"
|
|
echo " -u, --uninstall deinstalliert den Calibre-Autoupdater"
|
|
echo " --install-calibre installiert Calibre in der aktuellsten Version"
|
|
echo " --uninstall-calibre deinstalliert das Calibre Programm"
|
|
echo ""
|
|
echo -e "Sende Fehler an <leongaultier@gmail.com>.\n";
|
|
return 0
|
|
}
|
|
|
|
func_version () {
|
|
func_term_output
|
|
echo "$PROGNAME: Der Calibre! autoupdater v$VERSION"
|
|
echo "Leon Gaultier 2013-2014. Das Programm darf verteilt werden,"
|
|
echo -e "in der Hoffnung das es hilfreich ist, aber OHNR IRGENDEINE GARANTIE\n"
|
|
return 0
|
|
}
|
|
|
|
func_progressbar() {
|
|
echo -e -n $'\033[34m------------------------------------------------------------------------- 100%\r'
|
|
echo -e -n "\033[32m0% "
|
|
for ((i=0; i<61; i++)); do
|
|
echo -e -n "\033[32m="
|
|
case $i in
|
|
15)
|
|
echo -e -n "25%" ;;
|
|
30)
|
|
echo -e -n "50%" ;;
|
|
45)
|
|
echo -e -n "75%" ;;
|
|
60)
|
|
echo -e -n " 100%" ;;
|
|
esac
|
|
sleep 0.03
|
|
done
|
|
echo -e "\e[m"
|
|
return 0
|
|
}
|
|
|
|
func_uninstall() {
|
|
func_term_output
|
|
while ((!gueltig)); do # beginn der Ja/Nein Abfrage
|
|
echo -e "\033[1;34m"
|
|
read -sn1 -t 30 -p "Möchtest Du den Calibre-Autoupdater wirklich DeInstallieren? [j/n] " answer
|
|
echo -e "\e[m"
|
|
case "$answer" in
|
|
[JjYy]) result=1; gueltig=1 ;;
|
|
[Nn]) result=0; gueltig=1 ;;
|
|
"") result=0; gueltig=1 ;;
|
|
*) gueltig=0 ;;
|
|
esac
|
|
done
|
|
if (( ! result )); then
|
|
echo -e "\033[1;31mDie DeInstallation des Calibre-Autoupdaters wurde durch Dich abgebrochen.\e[m\n"
|
|
exit 0
|
|
fi
|
|
echo -e "\033[1;31mDer Calibre-Autoupdater wird nun deinstalliert.\e[m"
|
|
if [ -w "$CALIBRE_INSTALL_LOCATION" ]; then
|
|
rm -rf $INC"calibre-autoupdate.h" $INC"calibre-autoupdate_checks.h"; >&2
|
|
rm -rf $ETC"calibre-autoupdate.conf"; >&2
|
|
rm -rf $BIN"calibre-autoupdate"; >&2
|
|
else
|
|
sudo rm -rf $INC"calibre-autoupdate.h" $INC"calibre-autoupdate_checks.h"; >&2
|
|
sudo rm -rf $ETC"calibre-autoupdate.conf"; >&2
|
|
sudo rm -rf $BIN"calibre-autoupdate"; >&2
|
|
fi
|
|
func_progressbar
|
|
echo -e "\n\033[1;32mDer Calibre-Autoupdater wurde deinstalliert. Schade das Du ihn nicht weiter verwendest\n\e[m"
|
|
return 0
|
|
}
|
|
|
|
func_uninstall_calibre() {
|
|
func_term_output
|
|
if [ ! -d $CALIBRE_INSTALL_LOCATION/calibre ] ; then
|
|
echo -e "\033[1;31mEs konnte keine Calibre Installation gefunden werden. Die DeInstallation wurde abgebrochen\e[m\n"
|
|
exit 0
|
|
fi
|
|
while ((!gueltig)); do # beginn der Ja/Nein Abfrage
|
|
echo -e "\033[1;34mMöchtest Du Calibre wirklich DeInstallieren? Calibre kann dann nicht mehr verwendet werden!"
|
|
read -sn1 -t 30 -p "Deine Bücher und die Calibre Bibliothek bleiben erhalten. [j/n] " answer
|
|
echo -e "\e[m"
|
|
case "$answer" in
|
|
[JjYy]) result=1; gueltig=1 ;;
|
|
[Nn]) result=0; gueltig=1 ;;
|
|
"") result=0; gueltig=1 ;;
|
|
*) gueltig=0 ;;
|
|
esac
|
|
done
|
|
if (( ! result )); then
|
|
echo -e "\n\033[1;31mDie DeInstallation von Calibre wurde durch Dich abgebrochen.\e[m\n"
|
|
exit 0
|
|
fi
|
|
echo -e "\033[1;34mCalibre wird nun deinstalliert.\e[m"
|
|
if [ -w "$CALIBRE_INSTALL_LOCATION" ]; then
|
|
calibre-uninstall
|
|
else
|
|
sudo calibre-uninstall
|
|
fi
|
|
echo -e "\n\033[1;32mCalibre würde DeInstalliert! Schade es ist ein tolles Programm zur eBookverwaltung :-)\n\e[m"
|
|
return 0
|
|
}
|
|
|
|
func_install_calibre() {
|
|
# Installationsort von Calibre
|
|
func_term_output
|
|
read -p "Wohin soll Calibre installiert werden? [default /opt] " CALIBRE_INSTALL_LOCATION
|
|
if [ -z $CALIBRE_INSTALL_LOCATION ]; then
|
|
CALIBRE_INSTALL_LOCATION=/opt
|
|
fi
|
|
while [ ! -d $CALIBRE_INSTALL_LOCATION ]; do
|
|
echo -e "\n\033[1;31mDas Verzeichnis $CALIBRE_INSTALL_LOCATION existiert nicht. Bitte gib ein existierendes Verzeichnis ein!\e[m"
|
|
read -p "Wohin soll Calibre installiert werden? [default /opt] " CALIBRE_INSTALL_LOCATION
|
|
done
|
|
if [ -w "$CALIBRE_INSTALL_LOCATION" ]; then
|
|
echo -e "\n\033[1;32mCalibre wird nun installiert...\n\e[m"
|
|
wget -nv -O- $DOWNLOAD_URL | python -c "import sys; main=lambda x:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main('$CALIBRE_INSTALL_LOCATION')"
|
|
if [ ! -w "$ECT" ]; then
|
|
echo -e "\033[1;34mDu hast kein Schreibrecht auf $ETC. Die Updater Konfigurationsdatei wird mit SUDO angepasst. Bitte gib hierzu Dein Userpasswort im Terminal ein...\n\e[m"
|
|
sudo sed -i "s/CALIBRE_INSTALL_LOCATION=.*/CALIBRE_INSTALL_LOCATION=$#{CALIBRE_INSTALL_LOCATION/#/\//\/}/" $ETC"calibre-autoupdate.conf"
|
|
else
|
|
sed -i "s/CALIBRE_INSTALL_LOCATION=.*/CALIBRE_INSTALL_LOCATION=$#{CALIBRE_INSTALL_LOCATION/#/\//\/}/" $ETC"calibre-autoupdate.conf"
|
|
fi
|
|
else
|
|
echo -e "\033[1;34mDu hast kein Schreibrecht auf $CALIBRE_INSTALL_LOCATION."
|
|
echo -e "Calibre wird mit SUDO installiert. Bitte gib hierzu Dein Userpasswort ein...\n\e[m"
|
|
sudo -v && wget -nv -O- $DOWNLOAD_URL | sudo python -c "import sys; main=lambda x:sys.stderr.write('Download failed\n'); exec(sys.stdin.read()); main('$CALIBRE_INSTALL_LOCATION')"
|
|
sudo sed -i "s/CALIBRE_INSTALL_LOCATION=.*/CALIBRE_INSTALL_LOCATION=$#{CALIBRE_INSTALL_LOCATION/#/\//\/}/" $ETC"calibre-autoupdate.conf"
|
|
fi
|
|
echo -e "\n\n\033[1;32mHerzlichen Glückwunsch. Calibre wurde unter $CALIBRE_INSTALL_LOCATION installiert"
|
|
echo -e "und kann nun mit \"calibre\" verwendet werden.\n\033[0m"
|
|
return 0
|
|
}
|