...
|
...
|
@@ -590,13 +590,17 @@ else
|
590
|
590
|
create_database
|
591
|
591
|
fi
|
592
|
592
|
|
593
|
|
-for (( g = 0; g < ${#groupe[@]}; g++ )); do
|
594
|
|
- groupe_id[$g]=$(sqlite_request "select id from groupes where nom_court is '${groupe[$g]}'")
|
595
|
|
- if test -z "${groupe_id[$g]}"; then
|
596
|
|
- echo "groupe ${groupe[$g]} inconnu" >&2
|
|
593
|
+function check_groupes () {
|
|
594
|
+ nb_groupe=$(sqlite_request "select count(id) from groupes where nom like \"%$1%\" or nom_court is \"$1\"")
|
|
595
|
+ if test $nb_groupe -eq 0; then
|
|
596
|
+ echo "aucun groupe ne correspond au critère $1" >&2
|
|
597
|
+ exit 1
|
|
598
|
+ elif test $nb_groupe -gt 1; then
|
|
599
|
+ echo "plusieurs groupes correspondent au critère $1" >&2
|
|
600
|
+ sqlite_request "select printf('• %s%s', nom, iif(nom_court is not null, ' [' || nom_court || ']', '')) from groupes where nom like \"%$1%\" or nom_court = \"$1\"" | grep --color -i "$1" >&2
|
597
|
601
|
exit 1
|
598
|
602
|
fi
|
599
|
|
-done
|
|
603
|
+}
|
600
|
604
|
|
601
|
605
|
if test "$periode" = $true_flag; then
|
602
|
606
|
first=$(sqlite_request "select num from scrutins where date like '% du ${periode_value%:*}' order by num asc" | head -1)
|
...
|
...
|
@@ -620,6 +624,11 @@ if test "$db_update_only" = $true_flag; then
|
620
|
624
|
exit
|
621
|
625
|
fi
|
622
|
626
|
|
|
627
|
+for (( g = 0; g < ${#groupe[@]}; g++ )); do
|
|
628
|
+ check_groupes "${groupe[$g]}"
|
|
629
|
+ groupe_id[$g]=$(sqlite_request "select id from groupes where nom like \"%${groupe[$g]}%\" or nom_court is '${groupe[$g]}'")
|
|
630
|
+done
|
|
631
|
+
|
623
|
632
|
if test "$liste_deputes" = $true_flag; then
|
624
|
633
|
if test -n "$liste_deputes_value"; then
|
625
|
634
|
sqlite_request "select printf('%s - %s', députés.nom, groupes.nom_court) from députés inner join groupes on groupes.id = députés.groupe where groupes.nom_court is '$liste_deputes_value'"
|