From 298fd090ace60dc5d43a440c2f53464bd8689be8 Mon Sep 17 00:00:00 2001 From: Djan GICQUEL <> Date: Tue, 12 Jul 2022 21:36:11 +0200 Subject: [PATCH] =?UTF-8?q?simplification=20de=20TestBorgRepo=20contr?= =?UTF-8?q?=C3=B4le=20lors=20de=20l'ajout=20d'un=20d=C3=A9p=C3=B4t=20exist?= =?UTF-8?q?ant=20simplification=20du=20formulaire=20ajout=20d=C3=A9p=C3=B4?= =?UTF-8?q?t=20existant=20supression=20chemin=20ic=C3=B4nes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- profile-manager.sh | 61 ++++++++++++++++++++++++---------------------- 1 file changed, 32 insertions(+), 29 deletions(-) diff --git a/profile-manager.sh b/profile-manager.sh index e315317..5626124 100755 --- a/profile-manager.sh +++ b/profile-manager.sh @@ -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="$(cd "$dossierprofil" && cat "$fichierprofil")" elif [ "$choixmenu" = "" ];then