Skip to content

Commit 12db4d4

Browse files
prise en compte liens morts
1 parent 0cf7dc5 commit 12db4d4

File tree

9 files changed

+58
-6
lines changed

9 files changed

+58
-6
lines changed

DESCRIPTION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Package: doremifasol
22
Title: Data on Insee Website
3-
Version: 0.5.4.9001
3+
Version: 0.5.5.9001
44
Authors@R: c(
55
person("Pierre", "Lamarche", email = "[email protected]", role = c("aut", "cre")),
66
person("Pierre-Yves", "Berrard", role = "aut", email = "[email protected]"),

R/chargerDonnees.R

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,11 @@ chargerDonnees <- function(telechargementFichier, vars = NULL, ...) {
1717

1818
## check download has worked
1919
if (is.null(telechargementFichier$result)) {
20-
if (telechargementFichier$type == "json" & file.exists(telechargementFichier$argsImport$fichier)) {
20+
if (!is.null(telechargementFichier$message)) {
21+
stop("Le t\u00e9l\u00e9chargement a rencontr\u00e9 un probl\u00e8me : erreur ", telechargementFichier$message)
22+
} else if (telechargementFichier$type == "json" & file.exists(telechargementFichier$argsImport$fichier)) {
2123
message <- jsonlite::read_json(telechargementFichier$argsImport$fichier)
22-
stop("Erreur ", message$header$statut, " : ", message$header$message)
24+
stop("Le t\u00e9l\u00e9chargement a rencontr\u00e9 un probl\u00e8me : erreur ", message$header$statut, " - ", message$header$message)
2325
} else {
2426
warning("Le t\u00e9l\u00e9chargement a rencontr\u00e9 un probl\u00e8me.")
2527
}

R/sirets_successeurs.R

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ sucesseurs_quiet <- function(sirets, ...) {
7878
tab <- tryCatch(
7979
chargerDonnees(dl),
8080
error = function(e) {
81-
if (grepl("Erreur 404", e$message))
81+
if (grepl("erreur 404", e$message))
8282
return(data.frame())
8383
else {
8484
return(NULL)

R/sysdata.rda

79 Bytes
Binary file not shown.

R/telechargerFichier.R

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,17 @@ telechargerFichier <- function(donnees, date=NULL, telDir=getOption("doremifasol
4444

4545
if (!file.exists(nomFichier) || force) {
4646
res <- try(httr::GET(caract$lien, httr::write_disk(nomFichier, overwrite = TRUE), httr::progress()))
47-
if (res$status_code == 200) dl <- 0
47+
if (res$status_code == 200) {
48+
dl <- 0
49+
} else {
50+
file.remove(nomFichier)
51+
return(
52+
list(
53+
resultat = dl,
54+
message = res$status_code
55+
)
56+
)
57+
}
4858
if (tools::md5sum(nomFichier) != caract$md5) {
4959
warning("Fichier sur insee.fr modifi\u00e9 ou corruption lors du t\u00e9l\u00e9chargement.")
5060
}

data-raw/liste_donnees.json

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31211,6 +31211,38 @@
3121131211
"big_zip": false,
3121231212
"api_rest": true
3121331213
},
31214+
{
31215+
"nom": "TEST_BPE_NEXIST",
31216+
"libelle": "Base Permanente des Équipements – Ensemble",
31217+
"date_ref": "2021-01-01",
31218+
"collection": "BPE",
31219+
"lien": "https://www.insee.fr/fr/statistiques/fichier/3568629/bpe21_ensemble_csv.zip",
31220+
"type": "csv",
31221+
"zip": true,
31222+
"big_zip": false,
31223+
"fichier_donnees": "bpe21_ensemble.csv",
31224+
"fichier_meta": "varmod_bpe21_ensemble.csv",
31225+
"separateur": ";",
31226+
"api_rest": false,
31227+
"md5": "707b7668c2a18745f5fa1bd0a41a633d",
31228+
"size": 6166313,
31229+
"type_col": {
31230+
"AAV2020": "character",
31231+
"AN": "integer",
31232+
"BV2012": "character",
31233+
"DEP": "character",
31234+
"DEPCOM" : "character",
31235+
"DOM": "character",
31236+
"EPCI": "character",
31237+
"DCIRIS": "character",
31238+
"QUALI_IRIS": "character",
31239+
"REG": "character",
31240+
"SDOM": "character",
31241+
"TYPEQU": "character",
31242+
"UU2020": "character",
31243+
"NB_EQUIP": "integer"
31244+
}
31245+
},
3121431246
{
3121531247
"nom": "RP_POP_LEGALE_COM",
3121631248
"libelle": "Populations légales des communes en vigueur au 1er janvier 2022, en habitant",

data/liste_donnees.rda

101 Bytes
Binary file not shown.

doremifasol.Rproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
Version: 1.0
2+
ProjectId: 5d8613bf-04cd-4de6-94a7-273907a35e9b
23

34
RestoreWorkspace: Default
45
SaveWorkspace: Default

tests/testthat/test_telechargerDonnees.R

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,13 @@ test_that("Importation dernier millésime - output data.frame", {
103103
exact = TRUE
104104
)
105105
})
106+
## test dl sur un lien mort
107+
test_that("Importation d'un lien mort - retourne une erreur 404", {
108+
skip_if_no_app()
109+
check_configuration()
110+
expect_s3_class(telechargerDonnees("TEST_BPE_NEXIST"),
111+
"try-error")
112+
})
106113
## test dl sur l'API Sirene avec une requête invalide
107114
test_that("Télécharger des données sur l'API pour les entreprises créées un jour donné", {
108115
skip_if_no_app()
@@ -122,6 +129,6 @@ test_that("Erreur de syntaxe dans la requête sur l'API Sirene", {
122129
skip_if_no_app()
123130
check_configuration()
124131
expect_s3_class(telechargerDonnees("SIRENE_SIREN_NONDIFF",
125-
argsApi = list(q = 'dateDernierTraitementUniteLegale:"2018-11-01" TO "2018-11-15"')),
132+
argsApi = list(q = 'dateDernierTraitementUniteLegale:"2018-11-01" TO "2018-11-15"')),
126133
"try-error")
127134
})

0 commit comments

Comments
 (0)