etalab / rncs_worker_api_entreprise

API pour récupérer et mettre à disposition les données du Répertoire National du Commerce et des Société
https://entreprise.data.gouv.fr
MIT License
23 stars 13 forks source link

Traitement des fichiers CSV avec un parser conforme à la RFC 4180 #139

Closed brindu closed 4 years ago

brindu commented 5 years ago

Contenu de la PR

Utilisation d'un parser CSV conforme à la RFC. Cela permet d'éviter des erreurs lors de l'import de fichiers CSV valides dues à l'implémentation "maison" du premier parser CSV. Les traitements sur les headers à des fins d'uniformisation ont été reportés dans l'implémentation du nouveau parser CSV.

Cela implique un traitement préalable sur les fichiers CSV non valides qui ont été diffusés sur le FTP de l'INPI au tout début. Ces scripts de nettoyage seront rajoutés à ce répertoire de source dans une autre PR.

Comment faire la review

Au choix : pas très long de faire la review globalement, commits par commits pour voir l'implémentation des règles (sur les headers notamment).

Fix #125

Samuelfaure commented 5 years ago

Le code est peut-être davantage complexe que la dernière PR, ou alors il est moins clair, ou les deux, mais j'ai eu assez de mal à suivre cette PR. Je n'ai rien reperé de critique, a part peut-être cette méthode from_csv_row_class_to_hash mais je ne suis vraiment pas sûr de trouver mieux. Du coup je commente sans request change.

hugolepetit commented 4 years ago

Go merge

brindu commented 4 years ago

Le merge est en attente du merge de #140 :

Cela implique un traitement préalable sur les fichiers CSV non valides qui ont été diffusés sur le FTP de l'INPI au tout début. Ces scripts de nettoyage seront rajoutés à ce répertoire de source dans une autre PR.

Les scripts de nettoyage ne sont pas encore 100% terminés, si on merge cette PR avant #140 l'import sera bloqué au premier fichier CSV non conforme.