# 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 .\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 }