Skip to content

Commit 8153ac7

Browse files
ddottapy-b
andauthored
Ajout URL page insee.fr (#76)
* Ajout URL page insee.fr * Ajout exemple dans consulter() * param `silencieux` pour `infoDonnees` * améliore consulter (url_only) * améliore `donnees_dispo` Co-authored-by: Pierre-Yves Berrard <[email protected]>
1 parent 415724f commit 8153ac7

File tree

5 files changed

+52
-16
lines changed

5 files changed

+52
-16
lines changed

R/consulter.R

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,21 @@
22
#'
33
#' @inheritParams telechargerFichier
44
#' @param donnees le nom des données dont on veut consulter la page sur le site de l'Insee. La description complète des données associées à ce nom figure dans la table ([liste_donnees]).
5+
#' @param url_only `TRUE` pour seulement récupérer l'URL de la page sans ouvrir le navigateur.
56
#'
6-
#' @return La fonction ouvre le lien dans le navigateur. Elle retourne accessoirement le lien vers la page web, de manière invisible.
7+
#' @return Par défaut, la fonction ouvre le lien dans le navigateur. Elle retourne accessoirement le lien vers la page web, de manière invisible.
78
#'
89
#' @export
910
#'
1011
#' @examples
1112
#' consulter(donnees = "BPE_ENS")
1213
#' consulter("RP_LOGEMENT", date = "2016")
14+
#' # Pour seulement obtenir l'URL de la page
15+
#' consulter("RP_LOGEMENT", date = "2016", url_only = TRUE)
1316

14-
consulter <- function(donnees, date = NULL) {
17+
consulter <- function(donnees, date = NULL, url_only = FALSE) {
1518

16-
caract <- infosDonnees(donnees, date)
19+
caract <- infosDonnees(donnees, date, silencieux = url_only)
1720

1821
# construit l'url web à partir de l'url du fichier
1922
url <- sub("fichier/([0-9]+)/.+$", "\\1", caract$lien)
@@ -22,10 +25,12 @@ consulter <- function(donnees, date = NULL) {
2225
if (caract$collection == "GEOGRAPHIE" || substr(caract$nom, 1, 8) == "DECES_20") {
2326
url <- sub("/statistiques/", "/information/", url)
2427
}
25-
28+
29+
if (url_only) return(url)
30+
2631
# ouvre dans navigateur
2732
utils::browseURL(url)
28-
33+
2934
invisible(url)
3035

3136
}

R/donnees_dispo.R

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,28 @@ donnees_dispo <- function(recherche_init = NULL,
3535
if (is.null(recherche_init)) recherche_init <- ""
3636

3737
# 1 - construit table à afficher
38-
affich <- listToDf(liste = ld, vars = c("collection", "libelle", "nom", "date_ref", "size"))
38+
affich <-
39+
listToDf(
40+
liste = ld,
41+
vars = c("collection", "libelle", "nom", "date_ref", "size")
42+
)
3943
affich$size <- round(as.numeric(affich$size) / 1048576, 1) # conversion Mo
40-
affich <- affich[order(affich$collection, -rank(affich$date_ref), affich$nom), ]
44+
# 1.1 - ajout url page
45+
annee_ref <- substr(affich$date_ref, 1, 4)
46+
affich$page <-
47+
mapply(
48+
function(nom, annee) consulter(nom, annee, url_only = TRUE),
49+
affich$nom,
50+
ifelse(is.na(annee_ref), "dernier", annee_ref)
51+
)
52+
affich$page <-
53+
sprintf(
54+
"<a target='_blank' rel='noopener noreferrer' href='%s'>Documentation</a>",
55+
affich$page
56+
)
57+
affich$page[affich$collection == "SIRENE"] <- NA
58+
# 1.2 - tri
59+
affich <- affich[with(affich, order(collection, -rank(date_ref), nom)), ]
4160

4261
# 2 - paramètres additionnels pour DT::datatable
4362
params <- list(...)
@@ -46,11 +65,14 @@ donnees_dispo <- function(recherche_init = NULL,
4665
if (any(names(params) == "data")) warning("`data` pas modifiable")
4766
if (any(names(params) == "rownames")) warning("`rownames` pas modifiable")
4867
if (any(names(params) == "colnames")) warning("`colnames` pas modifiable")
68+
if (any(names(params) == "escape")) warning("`escape` pas modifiable")
4969
params$data <- affich
5070
params$rownames <- FALSE
5171
params$colnames <- c("Collection", "Description", "Nom court",
52-
"Date de r\u00e9f\u00e9rence", "Taille (Mo)")
72+
"Date de r\u00e9f\u00e9rence", "Taille (Mo)",
73+
"Documentation sur insee.fr")
5374
params$extensions <- c("Buttons")
75+
params$escape <- FALSE
5476

5577
# 2.2 - paramètres modifiables,
5678
# mais avec valeurs défaut différentes de celles de DT::data.table

R/utile.R

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,13 @@
1212
#' l'année doit être spécifiée.
1313
#'
1414
#' @inheritParams telechargerFichier
15+
#' @param silencieux mettre à `TRUE` pour ne pas afficher les messages.
1516
#'
1617
#' @return Une unique ligne de `liste_donnees` (sous forme de list).
1718
#'
1819
#' @keywords internal
1920

20-
infosDonnees <- function(donnees, date = NULL) {
21+
infosDonnees <- function(donnees, date = NULL, silencieux = FALSE) {
2122

2223
donnees <- toupper(donnees) # pour rendre insensible à la casse
2324
liste_nom <- vapply(ld, `[[`, "nom", FUN.VALUE = character(1))
@@ -45,10 +46,12 @@ infosDonnees <- function(donnees, date = NULL) {
4546

4647
if (!is.null(date) && tolower(date) == "dernier") {
4748
date <- sort(possible, decreasing = TRUE)[1]
48-
message(
49-
"S\u00e9lection automatique des donn\u00e9es les plus r\u00e9centes ",
50-
"(date = ", date, ")."
51-
)
49+
if (!silencieux) {
50+
message(
51+
"S\u00e9lection automatique des donn\u00e9es les plus r\u00e9centes ",
52+
"(date = ", date, ")."
53+
)
54+
}
5255
}
5356

5457
select <- 1

man/consulter.Rd

Lines changed: 6 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

man/infosDonnees.Rd

Lines changed: 3 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)