#!/bin/bash
lien='http://nead.univ-angers.fr/celcat/pha/g108.pdf'
if [ ! -e "$HOME/Téléchargements" ]
then
echo -e "\033[0;31m(!) Le dossier Téléchargements est absent de votre répertoire personnel.
N'utilisez pas l'option [t].\033[0;0m"
fi
log () {
bad=`cat $rep/barbinch_agenda.log | grep unable | wc -l`
if [ $bad != 0 ]
then
echo -e "\033[0;31m(!) Le téléchargement de l'agenda a échoué. Vérifiez votre connexion à internet.\033[0;0m"
sleep 2
fi
}
fonction () {
rep="$HOME/$1"
if [ -w "$rep" ]
then
echo -e "\033[0;32m(?) Si g108.pdf est déjà présent dans ce répertoire, il sera mis à jour.
Les éventuelles copies g108.pdf.1 g108.pdf.2 ... seront effacées.
(Pour conserver ces fichiers, vous devez les placer dans un répertoire
différent de celui choisi pour l'enregistrement de l'emploi du temps.)\033[0;0m
Voulez-vous continuer malgré tout et effacer les doublons ?"
read -p '[oui/non]' yesno
case $yesno in
'oui')
for i in `seq 1 10`;
do
rm $rep/g108.pdf.$i >> $rep/barbinch_agenda.log 2>&1
done
if [ -f "$rep/g108.pdf" ]
then
echo -e "\033[0;0mMise à jour du fichier g108.pdf dans $1 ...\033[0;0m"
cd $rep
wget -nv $lien >> $rep/barbinch_agenda.log 2>&1
badd=`cat $rep/barbinch_agenda.log | grep unable | wc -l`
case $badd in
'0')
mv g108.pdf.1 g108.pdf >> $rep/barbinch_agenda.log 2>&1
;;
*)
rm g108.pdf.1 >> $rep/barbinch_agenda.log 2>&1
echo -e "\033[0;31m(!) Le téléchargement de l'agenda a échoué. Vérifiez votre connexion à internet.\033[0;0m"
sleep 2
;;
esac
else
echo -e "\033[0;0mEnregistrement du fichier g108.pdf dans $1 ...\033[0;0m"
cd $rep
wget -nv $lien >> $rep/barbinch_agenda.log 2>&1
log
fi
case $2 in
'-l' | '--log')
echo 'Fichier .log sauvegardé dans '"$1"' !'
echo 'Fichier .log sauvegardé !' >> $rep/barbinch_agenda.log 2>&1
;;
'' | *)
echo non >> $rep/barbinch_agenda.log 2>&1
rm $rep/barbinch_agenda.log
;;
esac
;;
*)
echo -e "\033[0;0mArrêt du processus ...\033[0;0m"
;;
esac
else
echo -e "\033[0;31m(!) Le répertoire $1 n'est pas accessible.\033[0;0m"
fi
}
moteur () {
case $1 in
'')
echo " "
jour=`echo -n ' ' && date +%e`
nom=`date +%a | cut -c 1-2`
ligne=`ncal -w | head -n 8 | grep -n $nom | grep $jour | head -n 1 | cut -c 1`
total=`ncal -w | wc -l`
let "ligneavant= $ligne - 1"
let "ligneapres= $total - $ligne"
ncal -w | head -n $ligneavant
ncal -w | head -n 8 | grep $nom | grep -w --color=yes $jour | head -n 1
ncal -w | tail -n $ligneapres | grep --color=no [a-z]
ncal -w | tail -n 1 | grep --color=yes [a-z,0-9]
echo -e "
\033[0;32m(?) Pour consulter l'aide, utilisez la commande : a --help\033[0;0m
a [-l \033[0;34m--log --help --version\033[0;0m] [t répertoire]
"
;;
'--help')
echo -e "\033[0;35mObjectif\033[0;0m
Télécharge ou met à jour l'emploi du temps Pharmacie 2 - TP4 (09-10 Angers)
Supprime les doublons de g108.pdf (g108.pdf.1 g108.pdf.2 ...)
\033[0;35mUtilisation\033[0;0m
a [OPTION] [RÉPERTOIRE]
\033[0;35mRépertoires\033[0;0m
t Télécharge l'agenda dans le répertoire des téléchargements
répertoire Télécharge l'agenda dans le répertoire indiqué e.g. 'Docs'
\033[0;31m(!) Évitez les symboles du type '*' avec cette option.
Écrivez le dossier entre apostrophes. e.g. './Docs'\033[0;0m
\033[0;35mOptions (les options \033[0;34m--*\033[0;35m ne sont pas additives)\033[0;0m
-l,\033[0;34m --log\033[0;0m Conserve le fichier .log à la fin du téléchargement
\033[0;34m --help\033[0;0m Affiche cette aide
\033[0;34m --version\033[0;0m Affiche la version du script"
;;
'--version')
echo 'Agenda 1.7.3 (Charles BARBIN)'
;;
'-l' | '--log')
case `echo $2 | cut -c 1` in
'')
echo -e "\033[0;31m(!) Veuillez spécifier le nom du répertoire de destination.\033[0;0m"
;;
'-'*)
echo -e "\033[0;31m(!) Veuillez spécifier un répertoire de destination convenable.\033[0;0m"
;;
*)
case $2 in
'')
echo -e "\033[0;31m(!) Veuillez spécifier le nom du répertoire de destination.\033[0;0m"
;;
't' | *)
if [ ! -e /usr/bin/wget ]
then
echo -e "\033[0;31m(!) Vous devez installer wget pour utiliser ce script.\033[0;0m"
sleep 2
else
case $2 in
't')
fonction 'Téléchargements' $1
;;
*)
fonction $2 $1
;;
esac
fi
;;
esac
;;
esac
;;
't' | *)
if [ ! -e /usr/bin/wget ]
then
echo -e "\033[0;31m(!) Vous devez installer wget pour utiliser ce script.\033[0;0m"
sleep 2
else
case $1 in
't')
fonction 'Téléchargements'
;;
*)
fonction $1
;;
esac
fi
;;
esac
}
case `echo $1 | cut -c 1` in
'-')
case $1 in
'-l' | '--log' | '--help' | '--version')
moteur $1 $2
;;
*)
echo -e "\033[0;31m(!) Veuillez spécifier une option et/ou un répertoire de destination convenable.\033[0;0m"
;;
esac
;;
*)
moteur $1
;;
esac