kun

un outil de sondage - retour accueil

git clone git://bebou.netlib.re/kun
Log | Files | Refs | README |

commit dc5bb2d9ad51e9bedde1e0b6bc13f1f41b8694d7
parent 5f8c0f22cca367104bf7964f4ec4696786a1879e
Auterice: Arthur Pons <arthur.pons@unistra.fr>
Date:   Wed, 18 Sep 2024 20:52:18 +0200

Factorisation du test de sondage

Aussi, correction d'un bug où si l'on consultait une réponse d'une
personne, ressortait du menu et retentait l'opération on ne pouvait pas
parce que la valeur de $pers était toujours "quitter"

Diffstat:
Mkun | 15++++++++-------
1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/kun b/kun @@ -6,6 +6,7 @@ norm="\033[0m" die() { echo "$red$@$norm" >&2 ;return 1; } success() echo "$green$@$norm" >&2 +questionexists() { local id;id="$1";[ -d "/tmp/kun.$id" ]; } # créer un sondage # kun create @@ -56,7 +57,7 @@ modifyanswer() { deletequestion() { local id id="$1" - [ ! -d "/tmp/kun.$id" ] && { die "Sondage n'existe pas"; return 1; } + questionexists "$id" || { die "Sondage n'existe pas"; return 1; } rm -rf /tmp/kun.$id \ && success "Sondage $id supprimé" \ || die "Erreur dans la suppression de $id" @@ -67,7 +68,7 @@ deletequestion() { deleteanswer() { local id idrep id="$1";idrep="$2" - [ ! -d "/tmp/kun.$id" ] && { die "Sondage n'existe pas";return 1;} + questionexists "$id" || { die "Sondage n'existe pas"; return 1; } [ ! -f "/tmp/kun.$id/$idrep" ] && { die "Réponse n'existe pas";return 1;} rm /tmp/kun.$id/$idrep \ && success "Réponse $idrep supprimée" \ @@ -79,7 +80,7 @@ deleteanswer() { result() { local id id="$1" - [ ! -d "/tmp/kun.$id" ] && { die "Sondage n'existe pas";return 1;} + questionexists "$id" || { die "Sondage n'existe pas"; return 1; } find /tmp/kun.$id -type f -not -name question | xargs cat | sort | uniq -c | sort -rn @@ -90,7 +91,7 @@ result() { getpeople() { local id id="$1" - [ ! -d "/tmp/kun.$id" ] && { die "Sondage n'existe pas";return 1;} + questionexists "$id" || { die "Sondage n'existe pas"; return 1; } find /tmp/kun.$id/* -not -name 'question' | cut -d'-' -f1 | xargs -n1 basename @@ -124,7 +125,7 @@ while [ ! "$c" = "quitter" ];do create "$id" ;; ("répondre à un sondage") read -p "id du sondage : " id - [ ! -d "/tmp/kun.$id" ] && { die "Sondage n'existe pas";continue; } + questionexists "$id" || { die "Sondage n'existe pas"; continue; } l=$(<<-. fzy ajouter une réponse modifier une réponse @@ -142,7 +143,7 @@ while [ ! "$c" = "quitter" ];do esac ;; ("consulter un sondage") read -p "id du sondage : " id - [ ! -d "/tmp/kun.$id" ] && { die "Sondage n'existe pas";continue;} + questionexists "$id" || { die "Sondage n'existe pas"; continue; } while [ ! "$t" = "quitter" ];do t=$(<<-. fzy quitter @@ -157,7 +158,7 @@ while [ ! "$c" = "quitter" ];do while [ ! "$pers" = "quitter" ];do pers=$(getpeople "$id" | sed '1i\quitter' | fzy) [ "$pers" != "quitter" ] && getanswer "$id" "$pers" - done ;; + done;pers="";; esac done ;; ("supprimer un sondage")