simplification de TestBorgRepo

contrôle lors de l'ajout d'un dépôt existant
simplification du formulaire ajout dépôt existant
supression chemin icônes
This commit is contained in:
Djan GICQUEL 2022-07-12 21:36:11 +02:00
parent 43798a051e
commit 298fd090ac
1 changed files with 32 additions and 29 deletions

View File

@ -11,39 +11,31 @@ zenity $W --window-icon=borg --progress --pulsate --auto-close
TestBorgRepo () {
if [ ! -f "config" ]; then
TestBorgErr=1
infoerr=$(echo "Impossible de trouver le fichier de configuration du dépôt.")
zenity $W --error --text="$infoerr"
exit
zenity $W --error --text="Impossible de trouver le fichier de configuration du dépôt."
TestBorgErr="true"
else
TestBorgErr="false"
fi
if [ ! -d "data" ]; then
TestBorgErr=1
infoerr=$(echo "Impossible de trouver le dossier des données du dépôt.")
zenity $W --error --text="$infoerr"
exit
fi
if [ -d "lock.exclusive" ]; then
TestBorgErr=1
infoerr=$(echo "Le dépôt est bloqué, une opération est peut-être en cours")
zenity $W --error --text="$infoerr"
exit
zenity $W --error --text="Impossible de trouver le dossier des données du dépôt."
TestBorgErr="true"
else
TestBorgErr="false"
fi
}
dossierprofil="$HOME/.config/borg/profils-borg-zenity/"
mkdir -p "$dossierprofil" && cd "$dossierprofil"
mkdir -p "$dossierprofil" && cd "$dossierprofil" || exit
# Affichage du menu
###########################################################
choixmenu=$(echo -e "\
cp\nCréer un nouveau profil/dépôt\n\
ajd\nAjouter un dépôt existant\n\
ajd\nCréer un nouveau profil et le lier à un dépôt existant\n\
ap\nAfficher les profils\
" | zenity $H $W --window-icon=$HOME/.icons/borg.svg --list \
--column "id" --column "choix")
" | zenity $H $W --window-icon=borg --list --column "id" --column "choix" --hide-column=1 --hide-header)
# Gestion des choix du menu
###########################################################
@ -93,21 +85,32 @@ borg_compress=""
dryrun=""
EOF
zenity $W --info --text "Le profil «$profilename» a été créé avec ces paramètres\n\nNom de profil : $profilename\nChemin à sauvegarder : $borg_dir\nChemin du dépôt : $borg_repo\nStatut du dépôt : $repo_status"
zenity $W --info --text "\
Le profil «$profilename» a été créé avec ces paramètres\n\n\
Nom de profil : $profilename\n\
Chemin à sauvegarder : $borg_dir\n\
Chemin du dépôt : $borg_repo\n\
Statut du dépôt : $repo_status"
### Ajouter un dépôt existant ###
elif [ "$choixmenu" = "ajd" ];then
borg_repo=$(zenity --title "Dossier du dépôt" --file-selection --directory)
borg_dir=$(zenity --title "Dossier à sauvegarder" --file-selection --directory)
TestBorgErr="true"
while [ "$TestBorgErr" = "true" ];do
echo "-> while"
borg_repo_test=$(zenity --title "Dossier du dépôt" --file-selection --directory)
if [ $? = "1" ];then exit;fi
cd "$borg_repo_test" && TestBorgRepo
echo "TestBorgErr : $TestBorgErr"
if [ "$TestBorgErr" = "false" ];then borg_repo=$borg_repo_test;fi
echo "borg_repo = $borg_repo"
echo "borg_repo_test = $borg_repo_test"
done
vars=$(zenity --forms \
--text "Laisser les champs vides pour les options par défaut" \
--add-entry "Nom de sauvegarde" \
--add-entry "Nom de profil (pas d'espace ni caractères spéciaux)")
nomsauvegarde=$(echo $vars | cut -d\| -f1)
profilename=$(echo $vars | cut -d\| -f2)
borg_dir=$(zenity --title "Dossier à sauvegarder" --file-selection --directory)
profilename=$(zenity --entry --title "Nom de profil" --text "Nom de profil (pas d'espace ni caractères spéciaux)")
nomsauvegarde=$(echo "$profilename")
cat << EOF >> "$dossierprofil""$profilename".conf
nomsauvegarde="$nomsauvegarde"
@ -124,7 +127,7 @@ zenity $W --info --text "Le dépôt à bien été ajouté.\nLancez «Borg Zenity
### Afficher les profils ###
elif [ "$choixmenu" = "ap" ];then
fichierprofil=$(ls -1 *.conf | zenity $H $W --window-icon=$HOME/.icons/borg.svg --list --title "Liste des profils" --text "Choisir un profil dans la liste" --hide-header --column "profil")
fichierprofil=$(ls -1 *.conf | zenity $H $W --window-icon=borg --list --title "Liste des profils" --text "Choisir un profil dans la liste" --hide-header --column "profil")
zenity $W $H --info --text="<tt>$(cd "$dossierprofil" && cat "$fichierprofil")</tt>"
elif [ "$choixmenu" = "" ];then