un outil de sondage - retour accueil
git clone git://bebou.netlib.re/kun
Log | Files | Refs | README |
commit fa126a3e01c12990ad01a07eff4d39730b53d8cc parent f0cda7c833d61524aaea0f7d197499fb85017fca Auterice: Arthur Pons <arthur.pons@unistra.fr> Date: Fri, 20 Sep 2024 11:19:40 +0200 Nouvel argument pour addanswer On peut passer la réponse directement en arguments à addanswer Pour le moment n'a pas à correspondre à la question !!! Diffstat:
M | commands.sh | | | 39 | ++++++++++++++++++++++----------------- |
M | kun.sh | | | 16 | ++++++++-------- |
2 files changed, 30 insertions(+), 25 deletions(-)
diff --git a/commands.sh b/commands.sh @@ -13,7 +13,7 @@ create() { fi if [ -s "$id/question" ];then _success "id du sondage : ${id##/tmp/kun.}" - printf "création sondage %s\n" $(echo "$id" | cut -d'.' -f2) + printf "create %s\n" $(echo "$id" | cut -d'.' -f2) else _die "sondage vide, il n'a pas été créé" fi } @@ -21,23 +21,28 @@ create() { # ajouter une réponse à un sondage # kun addanswer id votre_nom addanswer() { - local name idrep repfile - id="$1";name="$2" + local id name idrep repfile text + id="$1";name="$2";text="$3" _nameexists "$id" "$name" && { _die "Ce nom a déjà été pris";return 1;} - repfile=$(mktemp /tmp/kun.$id/$name-XXXXX) - <<-. cat - les flèches pour parcourir les réponses - tabulation pour sélectionner une réponse - entrée pour valider le tout - - . - < /tmp/kun.$id/question fzy -m > $repfile \ - || { _die "Erreur dans l'écriture de la réponse";return 1;} - idrep=$(basename $repfile) - echo "Recap de la réponse : \n" - cat $repfile - _success "id de la réponse : ${idrep##$name-}" - echo ${idrep##$name-} + repfile=$(mktemp /tmp/kun.$id/$name-XXXXX) \ + || { _die "erreur à la création du fichier de réponse $name-$idrep";return 1; } + idrep=$(basename $repfile | cut -d'-' -f2) + if [ -n "$text" ];then + echo "$text" > $repfile \ + || { _die "Erreur dans l'écriture de la réponse";return 1;} + else + <<-. cat >&2 + les flèches pour parcourir les réponses + tabulation pour sélectionner une réponse + entrée pour valider le tout + + . + < /tmp/kun.$id/question fzy -m > $repfile \ + || { _die "Erreur dans l'écriture de la réponse";return 1;} + fi + printf "addanswer %s %s %s\n" "$id" "$name" "$idrep" + printf "%s\n" $(cat $repfile) + _success "réponse $idrep soumise au sondage $id" } # modifier une réponse existante diff --git a/kun.sh b/kun.sh @@ -23,14 +23,14 @@ done # Probablement safe mais fastidieux if [ -n "$1" ];then case "$1" in - (create) create "$2" && exit 0 || exit 1;; - (addanswer) addanswer "$2" "$3" && exit 0 || exit 1;; - (modifyanswer) modifyanswer "$2" "$3" && exit 0 || exit 1;; - (deletequestion) deletequestion "$2" && exit 0 || exit 1;; - (deleteanswer) deleteanswer "$2" "$3" && exit 0 || exit 1;; - (results) results "$2" && exit 0 || exit 1;; - (getpeople) getpeople "$2" && exit 0 || exit 1;; - (getanswer) getanswer "$2" "$3" && exit 0 || exit 1;; + (create) create "$2" && exit 0 || exit 1;; + (addanswer) addanswer "$2" "$3" "$4" && exit 0 || exit 1;; + (modifyanswer) modifyanswer "$2" "$3" && exit 0 || exit 1;; + (deletequestion) deletequestion "$2" && exit 0 || exit 1;; + (deleteanswer) deleteanswer "$2" "$3" && exit 0 || exit 1;; + (results) results "$2" && exit 0 || exit 1;; + (getpeople) getpeople "$2" && exit 0 || exit 1;; + (getanswer) getanswer "$2" "$3" && exit 0 || exit 1;; (*) _die "Commande n'existe pas";exit 1;; esac fi