#!/bin/bash
########################################################################
#
# Skrypt pobierający świeżą kopię przykładów do książki
# Linux. Leksykon kieszonkowy, Wydanie III
# Daniela J. Barretta
# Użycie:
#
#  reset-lpg
########################################################################

# Nazwa skryptu
PROG=`basename $0`

# Nazwa pliku archiwum do pobrania
ZIPFILE=linlk3.zip

# Adres serwera archiwum
REMOTEFILE="ftp://ftp.helion.pl/przyklady/$ZIPFILE"

# Położenie archiwum na komputerze lokalnym
LOCALFILE="/tmp/$ZIPFILE"

# Położenie plików wypakowanych z archiwum
DESTDIR=${1:-$HOME}
LOCALDIR="$DESTDIR/linuxleksykon"

# Monity
BAR='======================================================================'

########################################################################
# Pytanie o pozwolenie
########################################################################

action="utworzy"
if [ -d "$LOCALDIR" ]
then
    action="odnowi"
fi

echo
echo "$BAR"
echo "$PROG: Program $action katalog przykładów"
echo
echo "    $LOCALDIR"

if [ "$action" == "odnowi" ]
then
    echo
    echo "Wszystkie pliki przykładowe zostaną przyrócone do pierwotnej postaci."
    echo "Wszystkie pliki w katalogu spoza archiwum przykładowego pozostaną nienaruszone."
fi

echo "$BAR"
echo
echo -n "Kontynuować? [Wpisz 't' żeby kontynuować, albo cokolwiek innego by zakończyć]: "
read ans
case "$ans" in
  [Tt]*)
	;;
  *)
	echo "$PROG: Koniec!"
	exit 1
	;;
esac
echo

########################################################################
# Czy katalog docelowy istnieje?
########################################################################

if [ ! -d "$DESTDIR" ]
then
    echo "$PROG: Tworzę katalog '$DESTDIR'"
    mkdir "$DESTDIR"
    if [ $? -ne 0 ]
    then
	echo "$PROG: Nie można utworzyć katalogu '$DESTDIR' - koniec!"
	exit 1
    fi
fi

########################################################################
# Pobranie pliku archiwum z serwera.
########################################################################

if [ -f "$LOCALFILE" ]
then
    echo "$PROG: usuwam plik '$LOCALFILE'"
    /bin/rm -f "$LOCALFILE"
fi

echo "$PROG: Pobieram plik '$ZIPFILE' z serwera"
cd "$DESTDIR" && wget --quiet -O "$LOCALFILE" "$REMOTEFILE"
result=$?
if [ $result -ne 0 ]
then
  echo "$PROG: BŁĄD: Nie udało się pobrać pliku (status $result) - koniec"
  exit $result
fi

########################################################################
# Usunięcie istniejącego katalogu
########################################################################
#
#if [ -d "$LOCALDIR" ]
#then
#  echo "$PROG: Usuwam katalog '$LOCALDIR'"
#  /bin/rm -rf "$LOCALDIR"
#  result=$?
#  if [ $result -ne 0 ]
#  then
#	echo "$PROG: BŁĄD: Nie udało się usunąć kaalogu (status $result) - koniec"
#	exit $result
#  fi
#fi

########################################################################
# Wypakowanie plików ćwiczeń
########################################################################

echo "$PROG: Wypakowuję przykłady do '$LOCALDIR'"
cd "$DESTDIR" && unzip -u "$LOCALFILE"
result=$?
if [ $result -ne 0 ]
then
  echo "$PROG: BŁĄD: Nie udało się rozpakować archiwum (status $result) - koniec"
  exit $result
fi

########################################################################
# Pożegnanie
########################################################################

echo "$PROG: Gotowe!"
