scripts / analyse-votes-AN /
Newer Older
80 lines | 3.071kb
ajout script d'analyse des v...
Sébastien MARQUE authored on 2019-02-17
1
#!/bin/bash
2

            
3
groupe=${1:-LREM}
recherche sur le nom uniquem...
Sébastien MARQUE authored on 2019-02-18
4
nom=$2
5
groupe_ref=${3:-GDR}
ajout script d'analyse des v...
Sébastien MARQUE authored on 2019-02-17
6

            
modification de noms de vari...
Sébastien MARQUE authored on 2019-02-17
7
declare -A groupes cible_votes ref_votes
ajout script d'analyse des v...
Sébastien MARQUE authored on 2019-02-17
8
groupes[LREM]='Groupe La République en Marche'
9
groupes[LR]='Groupe Les Républicains'
10
groupes[MODEM]='Groupe du Mouvement Démocrate et apparentés'
11
groupes[PS]='Groupe Socialistes et apparentés'
12
groupes[UDI]='Groupe UDI, Agir et Indépendants'
ajout groupe Nouvelle Gauche
Sébastien MARQUE authored on 2019-02-20
13
groupes[NG]='Groupe Nouvelle Gauche'
ajout script d'analyse des v...
Sébastien MARQUE authored on 2019-02-17
14
groupes[FI]='Groupe La France insoumise'
15
groupes[GDR]='Groupe de la Gauche démocrate et républicaine'
16
groupes[LT]='Groupe Libertés et Territoires'
17
groupes[NI]='Non inscrits'
18

            
plus de souplesse dans les p...
Sébastien MARQUE authored on 2019-02-20
19
for g in ${!groupes[@]}; do
20
    if test $nom = $g; then
21
        groupe_ref=$nom
22
        unset nom
23
        break
24
    fi
25
done
26

            
fixe pb quand groupe cible e...
Sébastien Marque authored on 2019-02-18
27
if test -n "${groupes[$groupe]}" -a -n "${groupes[$groupe_ref]}"; then
ajout script d'analyse des v...
Sébastien MARQUE authored on 2019-02-17
28
    groupes[$groupe]='/<p class="nomgroupe">'${groupes[$groupe]}' <span class="block topmargin">/,/<div class="TTgroupe topmargin-lg">/'
fixe pb quand groupe cible e...
Sébastien Marque authored on 2019-02-18
29
    if test $groupe != $groupe_ref; then
30
        groupes[$groupe_ref]='/<p class="nomgroupe">'${groupes[$groupe_ref]}' <span class="block topmargin">/,/<div class="TTgroupe topmargin-lg">/'
31
    fi
ajout script d'analyse des v...
Sébastien MARQUE authored on 2019-02-17
32
else
33
    echo "groupe \"$groupe\" inconnu:"
34
    for g in ${!groupes[@]}; do
35
        echo "$g -> ${groupes[$g]}"
36
    done
sortie de script
Sébastien MARQUE authored on 2019-02-17
37
    exit 1
ajout script d'analyse des v...
Sébastien MARQUE authored on 2019-02-17
38
fi
39

            
40
tempfile="/dev/shm/scrutin"
41

            
42
typevotes="Pour Contre Abstention Non-votants"
43

            
recherche sur le nom uniquem...
Sébastien MARQUE authored on 2019-02-18
44
if test -n "$nom"; then
45
    cible="$nom ($groupe)"
46
    result="/dev/shm/comparaisons $nom ($groupe) avec $groupe_ref"
groupe de référence paramétr...
Sébastien MARQUE authored on 2019-02-17
47
else
48
    cible=$groupe
49
    result="/dev/shm/comparaisons $groupe avec $groupe_ref"
50
fi
groupe de référence: GDR
Sébastien MARQUE authored on 2019-02-17
51

            
modification de noms de vari...
Sébastien MARQUE authored on 2019-02-17
52
echo -n 'scrutin;date;titre;adoption;' > "$result"
ajout script d'analyse des v...
Sébastien MARQUE authored on 2019-02-17
53
for typevote in $typevotes; do
correction bug
Sébastien MARQUE authored on 2019-02-20
54
    for g in "$cible" $groupe_ref; do
55
        echo -n "$typevote - $g;" >> "$result"
ajout script d'analyse des v...
Sébastien MARQUE authored on 2019-02-17
56
    done
57
done
modification de noms de vari...
Sébastien MARQUE authored on 2019-02-17
58
echo >> "$result"
ajout script d'analyse des v...
Sébastien MARQUE authored on 2019-02-17
59

            
60
last=$(wget -qO- 'http://www2.assemblee-nationale.fr/scrutins/liste/(legislature)/15/(type)/TOUS/(idDossier)/TOUS' | sed -rn 's,^.*<td class="denom">(.+)</td>.*$,\1,p' | head -1)
61
for scrutin in $(seq $last); do
correction bug
Sébastien MARQUE authored on 2019-02-20
62
    wget -qO- "http://www2.assemblee-nationale.fr/scrutins/detail/(legislature)/15/(num)/$scrutin" > $tempfile
ajout script d'analyse des v...
Sébastien MARQUE authored on 2019-02-17
63

            
modification de noms de vari...
Sébastien MARQUE authored on 2019-02-17
64
    title=$(sed -rn '/Analyse du scrutin n° '$scrutin'/n; s,^.*<h3 class="president-title">(.+).</h3>,\1,p' $tempfile | sed 's/;//g; s/[ \t][ \t]+/ /g')
ajout script d'analyse des v...
Sébastien MARQUE authored on 2019-02-17
65
    date=$(sed -rn 's,^.*<h1 class="">Analyse du scrutin n° '$scrutin'<br/>(.+) </h1>,\1,p' $tempfile)
message adoption complet
Sébastien MARQUE authored on 2019-02-20
66
    adoption=$(sed -rn 's,^.*<p class="annonce"><span class="annoncevote">(.+).</span></p>.*$,\1,p' $tempfile)
ajout script d'analyse des v...
Sébastien MARQUE authored on 2019-02-17
67

            
modification de noms de vari...
Sébastien MARQUE authored on 2019-02-17
68
    echo -n "$scrutin;$date;$title;$adoption;" >> "$result"
ajout script d'analyse des v...
Sébastien MARQUE authored on 2019-02-17
69

            
modification de noms de vari...
Sébastien MARQUE authored on 2019-02-17
70
    unset cible_votes[*] ref_votes[*]
ajout script d'analyse des v...
Sébastien MARQUE authored on 2019-02-17
71
    for typevote in $typevotes; do
recherche sur le nom uniquem...
Sébastien MARQUE authored on 2019-02-18
72
        cible_votes[$typevote]=$(sed -rn "${groupes[$groupe]}p" $tempfile | sed -rn '/<p class="typevote">'${typevote}':/,/<.div>/p' | sed 's,</li>,\n,g' | grep -ic "&nbsp;<b>${nom}</b>")
modification de noms de vari...
Sébastien MARQUE authored on 2019-02-17
73
        echo -n "${cible_votes[$typevote]};" >> "$result"
74
        ref_votes[$typevote]=$(sed -rn  "${groupes[$groupe_ref]}p"  $tempfile | sed -rn '/<p class="typevote">'${typevote}':/,/<.div>/p' | sed 's,</li>,\n,g' | grep -c '&nbsp;<b>')
75
        echo -n "${ref_votes[$typevote]};" >> "$result"
ajout script d'analyse des v...
Sébastien MARQUE authored on 2019-02-17
76
    done
modification de noms de vari...
Sébastien MARQUE authored on 2019-02-17
77
    echo >> "$result"
ajout script d'analyse des v...
Sébastien MARQUE authored on 2019-02-17
78
done
correction bug
Sébastien MARQUE authored on 2019-02-20
79

            
80
rm $tempfile