Duplicatas votes AN
Le fichier votes.json (ainsi que les fichiers liés aux votes de chaques scrutins) contient un très grand nombre d'entrées dupliquées
Le bug est facilement observable avec les commandes shell suivantes:
Nombres de lignes dans le fichier json:
> cat data/votes.json | wc -l
1574520
Nombre total de lignes dupliquées:
> cat data/votes.json | sort | uniq -D | wc -l
725161
Nombre d'entrées dupliquées:
> cat data/votes.json | sort | uniq -d | wc -l
107228
On peut donc voir que près d'une quarantaine de pourcents des lignes sont des duplicatas !
1574520 - 725161 + 107228 = environs 956587 lignes non dupliquées, ~60% du total de lignes initial
(sachant que l'estimation peut être légèrement faussée par des différences notamment au niveau des lignes de début et de fin de tableau)
En creusant un peu, j'ai observé que le souci concernait les votes de l'Assemblée Nationale, ce qui m'a amené à la découverte d'un bug dans le VoteSpider: https://github.com/LaboratoireCitoyen/FranceData/blob/master/francedata/spiders/vote.py#L131-L138
En effet, lors de itération sur les résultats de la requête sélectionnant les différents groupes, la sous-requête de résultats de chaque division (pour, contre, abstention) retournait les résultats de l'ensemble de tous les groupes, et pas seulement ceux du groupe courant.
Par conséquent, chaque vote était enregistré une fois par groupe, au lieu d'une seule fois. Dans le cas d'une page avec 6 groupes, le nombre de votes était donc 6 fois trop grand !
PR incoming !