#!/bin/bash groupe=${1:-LREM} nom=$2 groupe_ref=${3:-GDR} archive_scrutins=$HOME/archive_scrutins declare -A groupes cible_votes ref_votes groupes[LREM]='Groupe La République en Marche' groupes[LR]='Groupe Les Républicains' groupes[MODEM]='Groupe du Mouvement Démocrate et apparentés' groupes[PS]='Groupe Socialistes et apparentés' groupes[UDI]='Groupe UDI, Agir et Indépendants' groupes[NG]='Groupe Nouvelle Gauche' groupes[FI]='Groupe La France insoumise' groupes[GDR]='Groupe de la Gauche démocrate et républicaine' groupes[LT]='Groupe Libertés et Territoires' groupes[NI]='Non inscrits' for g in ${!groupes[@]}; do if test "$nom" = $g; then groupe_ref=$nom unset nom break fi done if test -n "${groupes[$groupe]}" -a -n "${groupes[$groupe_ref]}"; then groupes[$groupe]='/

'${groupes[$groupe]}' /,/

/' if test $groupe != $groupe_ref; then groupes[$groupe_ref]='/

'${groupes[$groupe_ref]}' /,/

/' fi else echo "groupe \"$groupe\" inconnu:" for g in ${!groupes[@]}; do echo "$g -> ${groupes[$g]}" done exit 1 fi tempfile="/dev/shm/scrutin" typevotes="Pour Contre Abstention Non-votants" if test -n "$nom"; then cible="$nom ($groupe)" result="/dev/shm/comparaisons $nom ($groupe) avec $groupe_ref" else cible=$groupe result="/dev/shm/comparaisons $groupe avec $groupe_ref" fi echo -n 'scrutin;date;titre;adoption;' > "$result" for typevote in $typevotes; do for g in "$cible" $groupe_ref; do echo -n "$typevote - $g;" >> "$result" done done echo >> "$result" last=$(wget -qO- 'http://www2.assemblee-nationale.fr/scrutins/liste/(legislature)/15/(type)/TOUS/(idDossier)/TOUS' | sed -rn 's,^.*(.+).*$,\1,p' | head -1) test -r "$archive_scrutins" && first=$(tar tf "$archive_scrutins" | tail -1) || first=0 if test $first -lt $last; then echo "récupération des scrutins n°$((first+1)) à n°$last dans "$archive_scrutins" (à conserver autant que possible)" >&2 for scrutin in $(seq $((first+1)) $last); do wget -qO- "http://www2.assemblee-nationale.fr/scrutins/detail/(legislature)/15/(num)/$scrutin" \ | sed -r '0,/< *div class="titre-bandeau-bleu +to-print" *>/d; /< *script +type="text\/javascript" *>/,$d' > /dev/shm/$scrutin \ && tar -C /dev/shm -rf "$archive_scrutins" $scrutin \ && rm -f /dev/shm/$scrutin \ && echo -n '.' >&2 done echo fi for scrutin in $(seq $last); do tar -C /dev/shm -Oxf "$archive_scrutins" $scrutin > $tempfile title=$(sed -rn '/

Analyse du scrutin n° '$scrutin'/n; s,^.*

(.+).

,\1,p' $tempfile | sed 's/;//g; s/[ \t][ \t]+/ /g') date=$(sed -rn 's,^.*

Analyse du scrutin n° '$scrutin'
(.+)

,\1,p' $tempfile) adoption=$(sed -rn 's,^.*

(.+).

.*$,\1,p' $tempfile) echo -n "$scrutin;$date;$title;$adoption;" >> "$result" unset cible_votes[*] ref_votes[*] for typevote in $typevotes; do cible_votes[$typevote]=$(sed -rn "${groupes[$groupe]}p" $tempfile | sed -rn '/

'${typevote}':/,/<.div>/p' | sed 's,,\n,g' | grep -ic " ${nom:+${nom}
}") echo -n "${cible_votes[$typevote]};" >> "$result" ref_votes[$typevote]=$(sed -rn "${groupes[$groupe_ref]}p" $tempfile | sed -rn '/

'${typevote}':/,/<.div>/p' | sed 's,,\n,g' | grep -c ' ') echo -n "${ref_votes[$typevote]};" >> "$result" done echo >> "$result" done rm $tempfile