neue Version, diverse Fehler behoben, Progessbar hinzugefügt

This commit is contained in:
Leon Gaultier 2014-04-05 16:25:59 +02:00
commit fb5b6a59ac
4 changed files with 82 additions and 28 deletions

View File

@ -2,7 +2,7 @@
# Programmversion # Programmversion
PROGNAME=`basename $0` PROGNAME=`basename $0`
VERSION="0.11a" VERSION="0.12"
QUIET=0 QUIET=0
func_term_output () { func_term_output () {
@ -64,7 +64,7 @@ BIN=$UPDATER_INSTALL_LOCATION/bin/
func_check_dir() # Install oder Update Calibre Updater, Check ob Calibre überhaupt installiert ist func_check_dir() # Install oder Update Calibre Updater, Check ob Calibre überhaupt installiert ist
{ {
if test ! -d $CALIBRE_INSTALL_LOCATION/calibre ; then if test ! -d $CALIBRE_INSTALL_LOCATION/calibre ; then
echo -e "\n\033[1;31mKeine Calibre Installation unter $CALIBRE_INSTALL_LOCATION gefunden. Installation des Updaters nicht möglich.\e[m\n"; >&2 echo -e "\n\033[31mKeine Calibre Installation unter $CALIBRE_INSTALL_LOCATION gefunden. Installation des Updaters nicht möglich.\e[m\n"; >&2
exit 1 exit 1
fi fi
@ -88,6 +88,27 @@ func_check_dir() # Install oder Update Calibre Updater, Check ob Calibre überh
fi fi
} }
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.05
done
echo -e "\e[m"
}
func_install() # Installiert den Calibre Updater func_install() # Installiert den Calibre Updater
{ {
func_term_output func_term_output
@ -99,36 +120,42 @@ func_check_dir
if [ -w "$BIN" ]; then if [ -w "$BIN" ]; then
echo -e "\n\033[1;34mDer Calibre-Autoupdater wird nun unter $UPDATER_INSTALL_LOCATION installiert...\e[m"; echo -e "\n\033[1;34mDer Calibre-Autoupdater wird nun unter $UPDATER_INSTALL_LOCATION installiert...\e[m";
echo -e "\n\033[1;32mProgrammdatei wird nach $BIN kopiert\e[m"; sleep 3 echo -e "\n\033[1;32mProgrammdatei wird nach $BIN kopiert\e[m"; sleep 3
cp -v calibre-autoupdate $BIN cp calibre-autoupdate $BIN
sed -i "s/_-INC-_/${INC//\//\/}/g" $BIN"calibre-autoupdate" sed -i "s/_-INC-_/${INC//\//\/}/g" $BIN"calibre-autoupdate"
sed -i "s/_-ETC-_/${ETC//\//\/}/g" $BIN"calibre-autoupdate" sed -i "s/_-ETC-_/${ETC//\//\/}/g" $BIN"calibre-autoupdate"
sed -i "s/_-BIN-_/${BIN//\//\/}/g" $BIN"calibre-autoupdate" sed -i "s/_-BIN-_/${BIN//\//\/}/g" $BIN"calibre-autoupdate"
sed -i "s/_-VERSION-_/${VERSION//\//\/}/g" $BIN"calibre-autoupdate" sed -i "s/_-VERSION-_/${VERSION//\//\/}/g" $BIN"calibre-autoupdate"
chmod -v 755 $BIN/calibre-autoupdate chmod 755 $BIN/calibre-autoupdate
func_progressbar
echo -e "\n\033[1;32mDie Header-Dateien werden nach $INC kopiert\e[m"; sleep 3 echo -e "\n\033[1;32mDie Header-Dateien werden nach $INC kopiert\e[m"; sleep 3
cp -v calibre-autoupdate.h calibre-autoupdate_checks.h $INC cp calibre-autoupdate.h calibre-autoupdate_checks.h $INC
chmod -v 644 $INC/calibre-autoupdate.h $INC/calibre-autoupdate_checks.h chmod 644 $INC/calibre-autoupdate.h $INC/calibre-autoupdate_checks.h
func_progressbar
echo -e "\n\033[1;32mDie Konfigurationsdatei wird nach $ETC kopiert\e[m"; sleep 3 echo -e "\n\033[1;32mDie Konfigurationsdatei wird nach $ETC kopiert\e[m"; sleep 3
cp -v calibre-autoupdate.conf $ETC cp calibre-autoupdate.conf $ETC
sed -i "s/_-CALIBRE_INSTALL_LOCATION-_/${CALIBRE_INSTALL_LOCATION//\//\/}/g" $ETC"calibre-autoupdate.conf" sed -i "s/_-CALIBRE_INSTALL_LOCATION-_/${CALIBRE_INSTALL_LOCATION//\//\/}/g" $ETC"calibre-autoupdate.conf"
chmod -v 644 $ETC/calibre-autoupdate.conf chmod 644 $ETC/calibre-autoupdate.conf
func_progressbar
else else
echo -e "\n\033[1;34mDu hast kein Schreibrecht auf $UPDATER_INSTALL_LOCATION, daher wird SUDO versucht zu verwenden...\e[m"; echo -e "\n\033[1;34mDu hast kein Schreibrecht auf $UPDATER_INSTALL_LOCATION, daher wird SUDO versucht zu verwenden...\e[m";
echo -e "\n\033[1;32mProgrammdatei wird nach $BIN kopiert\e[m\e[m"; sleep 3 sudo echo -e "\n\033[1;36mProgrammdatei wird nach $BIN kopiert\e[m\e[m"
sudo cp calibre-autoupdate $BIN sudo cp calibre-autoupdate $BIN
sudo sed -i "s/_-INC-_/${INC//\//\/}/g" $BIN"calibre-autoupdate" sudo sed -i "s/_-INC-_/${INC//\//\/}/g" $BIN"calibre-autoupdate"
sudo sed -i "s/_-ETC-_/${ETC//\//\/}/g" $BIN"calibre-autoupdate" sudo sed -i "s/_-ETC-_/${ETC//\//\/}/g" $BIN"calibre-autoupdate"
sudo sed -i "s/_-BIN-_/${BIN//\//\/}/g" $BIN"calibre-autoupdate" sudo sed -i "s/_-BIN-_/${BIN//\//\/}/g" $BIN"calibre-autoupdate"
sudo sed -i "s/_-VERSION-_/${VERSION//\//\/}/g" $BIN"calibre-autoupdate" sudo sed -i "s/_-VERSION-_/${VERSION//\//\/}/g" $BIN"calibre-autoupdate"
sudo chmod 755 $BIN"calibre-autoupdate"; sudo chmod 755 $BIN"calibre-autoupdate"
echo -e "\n\033[1;32mDie Header-Dateien werden nach $INC kopiert\e[m"; sleep 3 func_progressbar
echo -e "\n\033[1;36mDie Header-Dateien werden nach $INC kopiert\e[m"
sudo cp calibre-autoupdate.h calibre-autoupdate_checks.h $INC sudo cp calibre-autoupdate.h calibre-autoupdate_checks.h $INC
sudo chmod 644 $INC"calibre-autoupdate.h" $INC"calibre-autoupdate_checks.h"; sudo chmod 644 $INC"calibre-autoupdate.h" $INC"calibre-autoupdate_checks.h"
echo -e "\n\033[1;32mDie Konfigurationsdatei wird nach $ETC kopiert\e[m"; sleep 3 func_progressbar
echo -e "\n\033[1;36mDie Konfigurationsdatei wird nach $ETC kopiert\e[m"
sudo cp calibre-autoupdate.conf $ETC sudo cp calibre-autoupdate.conf $ETC
sudo sed -i "s/_-CALIBRE_INSTALL_LOCATION-_/${CALIBRE_INSTALL_LOCATION//\//\/}/g" $ETC"calibre-autoupdate.conf" sudo sed -i "s/_-CALIBRE_INSTALL_LOCATION-_/${CALIBRE_INSTALL_LOCATION//\//\/}/g" $ETC"calibre-autoupdate.conf"
sudo chmod 644 $ETC"calibre-autoupdate.conf"; sudo chmod 644 $ETC"calibre-autoupdate.conf";
func_progressbar
fi fi
echo -e "\n\n\n\033[1;36mDer Calibre-Autoupdater wurde erfolgreich installiert und" echo -e "\n\n\n\033[1;36mDer Calibre-Autoupdater wurde erfolgreich installiert und"
echo -e "kann nun mit calibre-update oder $BIN"calibre-update" aufgerufen werden\e[m\n" echo -e "kann nun mit calibre-update oder $BIN"calibre-update" aufgerufen werden\e[m\n"

View File

@ -95,15 +95,6 @@ source $INC/calibre-autoupdate.h
source $INC/calibre-autoupdate_checks.h source $INC/calibre-autoupdate_checks.h
func_http_status_code () {
echo -e "\033[1;34m Hole Status Code von $CHECK_CALIBRE_DOWNLOAD_PAGE. Bitte warten.";
stat_1=$(curl -o /dev/null --silent --head --write-out '%{http_code}' $CHECK_CALIBRE_DOWNLOAD_PAGE)
echo -e "\033[32m Status Codes von $CHECK_CALIBRE_DOWNLOAD_PAGE erhalten";
echo -e "\033[1;34m Hole Status Code von $CHECK_DOWNLOAD_URL. Bitte warten.";
stat_2=$(curl -o /dev/null --silent --head --write-out '%{http_code}' $CHECK_DOWNLOAD_URL)
echo -e "\033[32m Status Codes von $CHECK_DOWNLOAD_URL erhalten";
return 0
}
func_term_output () { func_term_output () {
## Beginne mit der Ausgbe ## ## Beginne mit der Ausgbe ##

View File

@ -61,3 +61,24 @@ func_vercomp () { # Funktion zum Versionsvergleich
done done
return 0 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"
}

View File

@ -2,18 +2,30 @@
# Copyright (C) 2013-2014 Leon Gaultier # Copyright (C) 2013-2014 Leon Gaultier
# #
func_http_status_code () {
echo -e "\033[1;34m Hole Status Code von $CHECK_CALIBRE_DOWNLOAD_PAGE. Bitte warten.";
stat_1=$(curl -o /dev/null --silent --head --write-out '%{http_code}' $CHECK_CALIBRE_DOWNLOAD_PAGE)
func_progressbar
echo -e "\033[32m Status Codes von $CHECK_CALIBRE_DOWNLOAD_PAGE erhalten";
echo -e "\n\033[1;34m Hole Status Code von $CHECK_DOWNLOAD_URL. Bitte warten.";
stat_2=$(curl -o /dev/null --silent --head --write-out '%{http_code}' $CHECK_DOWNLOAD_URL)
func_progressbar
echo -e "\033[32m Status Codes von $CHECK_DOWNLOAD_URL erhalten";
return 0
}
func_check_stat () { # Funktion zum Check Verfügbarkeit der Downloadseiten und der Internetverbindung func_check_stat () { # Funktion zum Check Verfügbarkeit der Downloadseiten und der Internetverbindung
# Test for network conection # Test for network conection
echo -e "\033[1;34m Ich schau dann mal ob Dein Computer überhaupt ein Netzwerk hat :-)"; echo -e "\n\033[1;34m Ich schau dann mal ob Dein Computer überhaupt ein Netzwerk hat :-)";
for INTERFACE in $(ls /sys/class/net/ | grep -v lo); for INTERFACE in $(ls /sys/class/net/ | grep -v lo);
do do
if [[ $(cat /sys/class/net/$INTERFACE/carrier) = 1 ]]; then if [[ $(cat /sys/class/net/$INTERFACE/carrier) = 1 ]]; then
ONLINE=1 ONLINE=1
fi fi
done done
func_progressbar
if [ $ONLINE ]; then if [ $ONLINE ]; then
echo -e "\033[32m Oh Wunder! Habe ein Netzwerk gefunden. Verbinde über Interface $INTERFACE, echo -e "\n\033[32m Oh Wunder! Habe ein Netzwerk gefunden. Verbinde über Interface $INTERFACE,
was nicht heißt das es geht :-P"; was nicht heißt das es geht :-P";
if [[ $stat_1 -eq 200 && $stat_2 -eq 200 ]]; then if [[ $stat_1 -eq 200 && $stat_2 -eq 200 ]]; then
return 1 return 1
@ -23,7 +35,11 @@ if [ $ONLINE ]; then
return 3 return 3
fi fi
else else
<<<<<<< HEAD
echo -e "\033[31m Fehler!!! Sieh Dir die verdammte Desktop Benachrichtigung an!"; echo -e "\033[31m Fehler!!! Sieh Dir die verdammte Desktop Benachrichtigung an!";
=======
echo -e "\n\033[31m Fehler!!! Bitte schau Dir die Desktop Benachrichtigung an!";
>>>>>>> devel
return 4 return 4
fi fi
} }
@ -35,12 +51,11 @@ func_check_run_calibre () {
do do
$NOTIFY "Um das Update installieren zu können, muss Calibre beendet werden. Calibre wird in einer Minute vom Update Service beendet. !!!Bitte speichere alle wichtigen Daten!!!" $NOTIFY "Um das Update installieren zu können, muss Calibre beendet werden. Calibre wird in einer Minute vom Update Service beendet. !!!Bitte speichere alle wichtigen Daten!!!"
sleep 3 sleep 3
echo ""
for (( i=60; i>0; i-- )); for (( i=60; i>0; i-- ));
do do
echo -e "\033[31m noch \033[32m>>$i<< \033[31m Sekunden bis zum Calibre Programmende" echo -e -n "\033[31m noch \033[32m>>$i<< \033[31m Sekunden bis zum Calibre Programmende\r"
sleep 1 sleep 1
clear
func_term_output
done done
kill -15 $CALIBRE_PID kill -15 $CALIBRE_PID
return 0 return 0