un outil de sondage - retour accueil
git clone git://bebou.netlib.re/kun
Log | Files | Refs | README |
commit b9b0d948b7ccbd28ed25debbf07206ff94ecadac parent ee23d1ea2e7a3606663dd123ad0ae3f28bed0369 Auterice: Arthur Pons <arthur.pons@unistra.fr> Date: Mon, 23 Sep 2024 17:10:41 +0200 kun results affiche qui a répondu à quoi Diffstat:
M | commands.sh | | | 12 | +++++++++--- |
M | tests/reference | | | 34 | +++++++++++++++++++++------------- |
2 files changed, 30 insertions(+), 16 deletions(-)
diff --git a/commands.sh b/commands.sh @@ -108,10 +108,16 @@ results() { _questionexists "$id" || { _die "Sondage n'existe pas"; return 2; } _ananswerexists "$id" || { _die "Le sondage {$id} n'a pas encore de réponse"; return 1; } - answers=$(find /tmp/kun.$id -type f -not -name question) + answers=$(cat /tmp/kun.$id/question) _cmdlog "kun results $id" - cat $answers | - sort | uniq -c | sort -rn + + for answer in $(cat /tmp/kun.$id/question);do + names=$(grep -l $answer /tmp/kun.$id/*-* | grep -v '/question:' | grep -v ^$) + [ -n "$names" ] \ + && names=$(echo "$names" | xargs -n1 basename | cut -d'-' -f1) + nb=$( echo "$names" | wc -l) + printf "%d %s %s\n" $nb $answer $(echo "$names" | paste -s -d';' -) + done | sort -t' ' -k1 -rn } # voir la liste des personnes ayant répondu diff --git a/tests/reference b/tests/reference @@ -16,10 +16,10 @@ find: ‘/tmp/kun.azdad/’: Aucun fichier ou dossier de ce type [91mSondage n'existe pas[0m ./kun.sh: 106: 1: missing parameter [91mSondage n'existe pas[0m -./kun.sh: 121: 1: missing parameter +./kun.sh: 127: 1: missing parameter [91mSondage n'existe pas[0m -./kun.sh: 137: 1: missing parameter -./kun.sh: 137: 2: missing parameter +./kun.sh: 143: 1: missing parameter +./kun.sh: 143: 2: missing parameter find: ‘/tmp/kun.azdazd/’: Aucun fichier ou dossier de ce type [91mazdazd n'a pas répondu à ce sondage[0m @@ -30,8 +30,9 @@ Un scénario : [92mrecap de la réponse :[0m [92mlundi mercredi[0m - 1 mercredi - 1 lundi +1 mercredi alice +1 mardi +1 lundi alice [91malice est déjà pris pour le sondage {id}[0m [92mréponse {id} de victor soumise au sondage {id}[0m [92mrecap de la réponse :[0m @@ -39,26 +40,33 @@ mercredi[0m {id} {id} [91mazdazd n'a pas répondu à ce sondage[0m mercredi - 2 mercredi - 1 lundi +2 mercredi alice;victor +1 mardi +1 lundi alice alice victor [91mRéponse {id} n'existe pas[0m [92mModification de la réponse {id} de alice soumise au sondage {id}[0m [92mrecap de la réponse :[0m [92m[0m - 1 mercredi +1 mercredi victor +1 mardi +1 lundi [92mModification de la réponse {id} de alice soumise au sondage {id}[0m [92mrecap de la réponse :[0m [92mlundi[0m - 1 mercredi - 1 lundi +1 mercredi victor +1 mardi +1 lundi alice [92mModification de la réponse {id} de alice soumise au sondage {id}[0m [92mrecap de la réponse :[0m [92mmardi[0m - 1 mercredi - 1 mardi +1 mercredi victor +1 mardi alice +1 lundi [92mQuestion {id} du sondage {id} supprimée[0m victor - 1 mercredi +1 mercredi victor +1 mardi +1 lundi [92mSondage {id} supprimé[0m