diff --git a/source/R/include_from_drive.R b/source/R/include_from_drive.R new file mode 100644 index 0000000..9775a7f --- /dev/null +++ b/source/R/include_from_drive.R @@ -0,0 +1,30 @@ +# Functie om bestanden van google drive te downloaden (voor rapporten) +include_from_drive <- function(name, figures = figs, overwrite = FALSE, ...) { + common_part <- fs::path_common(figures$path) + the_fig <- figures[figures$name == name, ] + full_path <- the_fig$path + rel_path <- fs::path_rel(full_path, common_part) + local_path <- fs::path("media", rel_path) + + # loop indien meerdere bestanden met zelfde naam maar in andere folders + for (i in seq_along(local_path)) { + # maak de folderstructuur als deze nog niet bestaat + fs::dir_create(fs::path_dir(local_path[i])) + # met overwrite = FALSE, zal de functie een error geven als de file al bestaat + # daarom twee gevallen toelaten: + # 1: overwrite = TRUE + if (overwrite) { + df <- drive_download( + file = the_fig[i, ], + path = local_path[i], + overwrite = overwrite) + } + # 2: bestand bestaat nog niet, download het + if (!file.exists(local_path[i])) { + df <- drive_download( + file = the_fig[i, ], + path = local_path[i], + overwrite = overwrite) + } + } +} diff --git a/source/bookdown/mas_uitrol_vlaanderen/index.Rmd b/source/bookdown/mas_uitrol_vlaanderen/index.Rmd index 9ff6ac8..d61d0ed 100644 --- a/source/bookdown/mas_uitrol_vlaanderen/index.Rmd +++ b/source/bookdown/mas_uitrol_vlaanderen/index.Rmd @@ -109,3 +109,32 @@ if (interactive()) { ) } ``` + +```{r googledrive, include = FALSE} +# authenticatie google drive +library(googledrive) +googledrive::drive_auth(email = "*@inbo.be") + +# source functie om figuren te downloaden van google drive +source("../../R/include_from_drive.R") + +# google drive verwijzing naar figuren +sdf <- shared_drive_find("PRJ_MBAG") %>% + drive_ls(pattern = "4a_mas", type = "folder") %>% + drive_ls(pattern = "rapporten", type = "folder") %>% + drive_ls(pattern = "mas_uitrol_vlaanderen", type = "folder") %>% + drive_ls(pattern = "media", type = "folder") + +figs <- sdf %>% + drive_ls(recursive = TRUE, type = c("pdf", "jpg", "png")) %>% + drive_reveal(what = "webViewLink") %>% + drive_reveal(what = "webContentLink") %>% + drive_reveal(what = "path") %>% + drive_reveal(what = "fileExtension") + +# get figures from google drive +# set overwrite = TRUE if necessary! +for (file_name in figs$name) { + include_from_drive(name = file_name, figures = figs, overwrite = FALSE) +} +```