#' Push meta tables to Google Drive and s3
#'
#' @param type table type, "mech" or "org"
#' @param folder where is the file stored? default = "out/DATIM"
#'
#' @export
#'
#' @examples
#' \dontrun{
#' #pull updated mechanism table
#' pull_mech(folderpath_output = savefolder)
#' #upload to Google Drive and s3
#' upload_meta_table("mech") }
upload_meta_table <- function(type = c("mech", "org"), folder = "out/DATIM"){
if (dir.exists(folder)) {
newfile <- glamr::return_latest(folder, {{type}})
} else {
usethis::ui_warn(glue::glue("Directory: {folder} does not exit"))
return(NULL)
}
gdrive_fldr <- dplyr::case_when(type == "org" ~ "1enffr2NUZAz5eabUAGmfdXKoKWnLlWZ5",
type == "mech" ~ "1wMvvO1x8OgVU3aGej4kdAw3F2NbeY-eM")
gdrive_fldr <- googledrive::as_id(gdrive_fldr)
gdrive_fldr_archv <- googledrive::drive_ls(gdrive_fldr, "Archive") %>% dplyr::pull(id) %>% googledrive::as_id()
gdrive_file_old <- googledrive::drive_ls(gdrive_fldr, "HFR_FY21_GLOBAL")
gdrive_file_old_id <- gdrive_file_old %>% dplyr::pull(id) %>% googledrive::as_id()
gdrive_file_old_name <- gdrive_file_old %>% dplyr::pull(name)
newfile_name <- stringr::str_remove(basename(newfile), ".csv")
if (newfile_name > gdrive_file_old_name) {
googledrive::drive_mv(gdrive_file_old_id, gdrive_fldr_archv)
googledrive::drive_upload(newfile,
gdrive_fldr,
name = newfile_name,
type = "spreadsheet")
usethis::ui_info(glue::glue("{basename(newfile)} uploaded to Google Drive"))
grabr::s3_upload(
filepath = newfile,
bucket = "gov-usaid",
prefix = "ddc/uat/raw/hfr/receiving"
)
usethis::ui_info(glue::glue("{basename(newfile)} uploaded to s3 - {usethis::ui_path('ddc/uat/raw/hfr/receiving')}"))
} else {
usethis::ui_warn(glue::glue("Upload skipped. Your local file seems to be older: {newfile}"))
}
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.