Skip to content

Récupère la date de dernière modification lors du moissonnage et la transmet à l’import

Ronan Amicel requested to merge harvest-last-modified into main

Contexte

Cette MR est la dernière étape pour permettre le passage de l’info de date de dernière modif des données entre la phase de harvest et celle d’import (cf. https://datahub.incubateur.tech/infrastructure/indicateurs/-/issues/153).

Elle fait suite à !411 (merged) et !413 (merged).

Contenu

  • récupère la date de modification via l’en-tête HTTP Last-Modified s’il est présent sur la réponse
  • récupère la date de modification via l’API pour les documents Grist
  • passe l’info de la date de modification entre le moissonnage et l’import

Démo

Document Grist

$ psql -c "SELECT last_import, last_modified FROM meta WHERE dataset='vta';"
          last_import          | last_modified
-------------------------------+---------------
 2023-06-01 16:29:36.357844+00 |
(1 ligne)

$ insitu harvest --action=import vta
Created DB connection.
Running init hooks.
Creating meta table: None
Creating meta_import table: None
Saved https://grist.incubateur.anct.gouv.fr/o/anct/api/docs/5YNBLPQoCFH2TUFWTugy4e/download/csv?viewSection=1&tableId=BDD&activeSortSpec=%5B%5D&filters=%5B%5D to "/tmp/tmp6z70wedb/Suivi Recrutement-BDD.csv"

Processing "/tmp/tmp6z70wedb/Suivi Recrutement-BDD.csv"
Using importer <Importer csv for Suivi des recrutements>
Loading csv file /tmp/tmp6z70wedb/Suivi Recrutement-BDD.csv
Dropped table vta: None
Creating table vta: None
Import done: COPY 621
Saved meta for vta: None
Saved meta for vta: None
Done with "/tmp/tmp6z70wedb/Suivi Recrutement-BDD.csv"
Closing DB conn.

$ psql -c "SELECT last_import, last_modified FROM meta WHERE dataset='vta';"
          last_import          | last_modified
-------------------------------+---------------
 2023-06-01 16:33:32.220694+00 | 2023-05-31
(1 ligne)

Jeu de données data.gouv.fr

$ psql -c "SELECT last_import, last_modified FROM meta WHERE dataset='qpv';"
          last_import          | last_modified
-------------------------------+---------------
 2023-05-23 08:54:00.670927+00 |
(1 ligne)

$ insitu harvest --action=import qpv
Created DB connection.
Running init hooks.
Creating meta table: None
Creating meta_import table: None
2018-01-23
Saved https://www.data.gouv.fr/fr/datasets/r/80e7df41-1e7f-4561-987c-f23bdd48cbff to "/tmp/tmp061a72cb/liste_Quartiers_Prioritaires.csv"

Processing "/tmp/tmp061a72cb/liste_Quartiers_Prioritaires.csv"
Using importer <Importer csv for QPV>
Loading csv file /tmp/tmp061a72cb/liste_Quartiers_Prioritaires.csv
Dropped table qpv: None
Creating table qpv: None
(...)
Import done: COPY 1436
Saved meta for qpv: None
Saved meta for qpv: None
Done with "/tmp/tmp061a72cb/liste_Quartiers_Prioritaires.csv"
Closing DB conn.

$ psql -c "SELECT last_import, last_modified FROM meta WHERE dataset='qpv';"
          last_import          | last_modified
-------------------------------+---------------
 2023-06-01 16:40:39.652209+00 | 2018-01-23
(1 ligne)
Edited by Ronan Amicel

Merge request reports