regardscitoyens / the-law-factory-parser

Data generator for the-law-factory project
https://www.lafabriquedelaloi.fr
GNU General Public License v3.0
45 stars 9 forks source link

Add checks on steps dates #102

Open boogheta opened 5 years ago

boogheta commented 5 years ago

The backend should perform a few checks on the dates to ensure we have no incoherence like overlapping steps, or steps without any date.

-> raise an exception

mdamien commented 5 years ago

Pour le premier cas, j'ai aucun dossier affecté mais pour le deuxième j'en ai 84

EDIT: Un warning existe dans senapy ("DATE ORDER IS INCORRECT"), 24 dossiers sont touchés, mais il y a des faux positifs à cause des multiples dépôts et des CMP

EDIT 2: Le troisiéme cas n'arrive jamais aussi, du coup je part sur un check pour le cas 2 seulement

Exemple:

image

Le script qui pourrait être intégré dans detect_anomalies.py

import json, glob, sys
from os.path import join

for dos_file in glob.glob(join(sys.argv[1], '*/*/procedure.json')):
    with open(dos_file) as f:
        dos = json.load(f)

        prev_step = None
        for step in dos['steps']:
            if not step.get('in_discussion'):
                if step.get('date') > step.get('enddate', '999999999'):
                    print('1er cas>', dos_file)

                if prev_step and step.get('date') < prev_step.get('enddate'):
                    print('2eme cas>', dos_file)
                    print(step.get('date'))

                if not step.get('date'):
                    print('3eme cas>', dos_file)
                    print(step.get('source_url'))

            prev_step = step
mdamien commented 5 years ago

Du coup, j'ai fait une mini-compil pour le Sénat:

Objet: Quelques erreurs sur les dates dans vos dossiers Bonjour,

En parcourant les dossiers, j'ai pu remarquer de légères erreurs sur les dates, en voici quelques unes :

En vous remerciant très cordialement une fois encore,

C'est du pinaillage de l’extrême, je l'admet complètement !

EDIT: Envoyé !

boogheta commented 5 years ago

me likey, corrigé quelques typos et rajouté encore un peu de vernis à la fin ;) go!