diff --git a/R/gen_api.R b/R/gen_api.R index 12b4340..e79791b 100644 --- a/R/gen_api.R +++ b/R/gen_api.R @@ -1,8 +1,10 @@ -#' gen_api +#' gen_genesis_api #' #' @description Low-level function to interact with the GENESIS API #' #' @param endpoint Character string. The endpoint of the API that is to be queried. +#' @param overwrite_url Character string. In certain cases it is required to set a custom URL for the respective API. By specifying the URL in this parameter, the API calls will be directed to this custom URL. But be aware, the URL has to lead to the same database (in this case: GENESIS), else there will be errors. Hence, use with caution. +#' @param ... Further parameters passed on to the final API call. #' #' @importFrom httr2 `%>%` #' @@ -10,24 +12,18 @@ #' #' @examples #' \dontrun{ -#' gen_api("helloworld/logincheck") %>% -#' httr2::resp_body_json() +#' gen_genesis_api("helloworld/logincheck") %>% +#' httr2::resp_body_json() #' } #' -# gen_api <- function(endpoint, ...) { -# -# httr2::request("https://www-genesis.destatis.de/genesisWS/rest/2020") %>% -# httr2::req_user_agent("https://github.com/CorrelAid/restatis") %>% -# httr2::req_url_path_append(endpoint) %>% -# httr2::req_url_query(!!!gen_auth_get(database = "genesis"), ...) %>% -# httr2::req_retry(max_tries = 3) %>% -# httr2::req_perform() -# -# } +gen_genesis_api <- function(endpoint, + overwrite_url, + ...) { -gen_api <- function(endpoint, ...) { + url <- ifelse(is.null(overwrite_url), + "https://www-genesis.destatis.de/genesisWS/rest/2020", + overwrite_url) - url <- "https://www-genesis.destatis.de/genesisWS/rest/2020" user_agent <- "https://github.com/CorrelAid/restatis" body_parameters <- list(...) @@ -62,6 +58,8 @@ gen_api <- function(endpoint, ...) { #' @description Low-level function to interact with the regionalstatistik.de API #' #' @param endpoint Character string. The endpoint of the API that is to be queried. +#' @param overwrite_url Character string. In certain cases it is required to set a custom URL for the respective API. By specifying the URL in this parameter, the API calls will be directed to this custom URL. But be aware, the URL has to lead to the same database (in this case: www.regionalstatistik.de), else there will be errors. Hence, use with caution. +#' @param ... Further parameters passed on to the final API call. #' #' @importFrom httr2 `%>%` #' @@ -73,9 +71,15 @@ gen_api <- function(endpoint, ...) { #' httr2::resp_body_json() #' } #' -gen_regio_api <- function(endpoint, ...) { +gen_regio_api <- function(endpoint, + overwrite_url, + ...) { + + url <- ifelse(is.null(overwrite), + "https://www.regionalstatistik.de/genesisws/rest/2020/", + overwrite_url) - httr2::request("https://www.regionalstatistik.de/genesisws/rest/2020/") %>% + httr2::request(url) %>% httr2::req_user_agent("https://github.com/CorrelAid/restatis") %>% httr2::req_url_path_append(endpoint) %>% httr2::req_url_query(!!!gen_auth_get(database = "regio"), ...) %>% @@ -91,6 +95,8 @@ gen_regio_api <- function(endpoint, ...) { #' @description Low-level function to interact with the Zensus 2022 database #' #' @param endpoint Character string. The endpoint of the API that is to be queried. +#' @param overwrite_url Character string. In certain cases it is required to set a custom URL for the respective API. By specifying the URL in this parameter, the API calls will be directed to this custom URL. But be aware, the URL has to lead to the same database (in this case: Zensus 2022), else there will be errors. Hence, use with caution. +#' @param ... Further parameters passed on to the final API call. #' #' @importFrom httr2 `%>%` #' @@ -102,12 +108,36 @@ gen_regio_api <- function(endpoint, ...) { #' httr2::resp_body_json() #' } #' -gen_zensus_api <- function(endpoint, ...) { +gen_zensus_api <- function(endpoint, + overwrite_url, + ...) { - httr2::request("https://ergebnisse.zensus2022.de/api/rest/2020") %>% - httr2::req_user_agent("https://github.com/CorrelAid/restatis") %>% + url <- ifelse(is.null(overwrite_url), + "https://ergebnisse.zensus2022.de/api/rest/2020", + overwrite_url) + + user_agent <- "https://github.com/CorrelAid/restatis" + + body_parameters <- list(...) + + if (length(body_parameters) > 0) { + + req <- httr2::request(url) %>% + httr2::req_body_form(!!!body_parameters) + + } else { + + req <- httr2::request(url) %>% + httr2::req_body_form(!!!list("foo" = "bar")) + + } + + req %>% + httr2::req_user_agent(user_agent) %>% httr2::req_url_path_append(endpoint) %>% - httr2::req_url_query(!!!gen_auth_get(database = "zensus"), ...) %>% + httr2::req_headers("Content-Type" = "application/x-www-form-urlencoded", + "username" = gen_auth_get(database = "zensus")$username, + "password" = gen_auth_get(database = "zensus")$password) %>% httr2::req_retry(max_tries = 3) %>% httr2::req_perform() diff --git a/R/gen_catalogue.R b/R/gen_catalogue.R index 13e3b58..f12e65b 100644 --- a/R/gen_catalogue.R +++ b/R/gen_catalogue.R @@ -76,7 +76,7 @@ gen_catalogue <- function(code = NULL, list_of_cubes <- "There are generally no 'cubes' objects available for the 'zensus' database." - } else if ("cubes" %in% category && (db == "gen_api" | db == "gen_regio_api")) { + } else if ("cubes" %in% category && (db == "gen_genesis_api" | db == "gen_regio_api")) { results_raw <- do.call(db, list(endpoint = "catalogue/cubes", diff --git a/R/gen_cube.R b/R/gen_cube.R index 418b4c7..4021623 100644 --- a/R/gen_cube.R +++ b/R/gen_cube.R @@ -96,27 +96,27 @@ gen_cube_ <- function(name, if (database == "genesis") { - cube_raw <- gen_api("data/cubefile", - name = name, - area = area, - values = values, - metadata = metadata, - additionals = additionals, - startyear = startyear, - endyear = endyear, - timeslices = timeslices, - contents = contents, - regionalvariable = regionalvariable, - regionalkey = regionalkey, - classifyingvariable1 = classifyingvariable1, - classifyingkey1 = classifyingkey1, - classifyingvariable2 = classifyingvariable2, - classifyingkey2 = classifyingkey2, - classifyingvariable3 = classifyingvariable3, - classifyingkey3 = classifyingkey3, - stand = stand, - language = language, - job = FALSE) + cube_raw <- gen_genesis_api("data/cubefile", + name = name, + area = area, + values = values, + metadata = metadata, + additionals = additionals, + startyear = startyear, + endyear = endyear, + timeslices = timeslices, + contents = contents, + regionalvariable = regionalvariable, + regionalkey = regionalkey, + classifyingvariable1 = classifyingvariable1, + classifyingkey1 = classifyingkey1, + classifyingvariable2 = classifyingvariable2, + classifyingkey2 = classifyingkey2, + classifyingvariable3 = classifyingvariable3, + classifyingkey3 = classifyingkey3, + stand = stand, + language = language, + job = FALSE) #----------------------------------------------------------------------------- diff --git a/R/gen_find.R b/R/gen_find.R index f480c8e..6f42a23 100644 --- a/R/gen_find.R +++ b/R/gen_find.R @@ -439,7 +439,7 @@ gen_find <- function(term = NULL, if("cubes" %in% category) { - if (db == "gen_api" | db == "gen_regio_api") { + if (db == "gen_genesis_api" | db == "gen_regio_api") { if(!is.null(results_json$Cubes)) { diff --git a/R/gen_jobs.R b/R/gen_jobs.R index dd60330..b0f3450 100644 --- a/R/gen_jobs.R +++ b/R/gen_jobs.R @@ -49,7 +49,7 @@ gen_list_jobs <- function(database = c("genesis", "regio"), #----------------------------------------------------------------------------- - if (gen_fun == "gen_api"){ + if (gen_fun == "gen_genesis_api"){ par_list <- list(endpoint = "catalogue/jobs", sortcriterion = sortcriterion, @@ -169,12 +169,12 @@ gen_download_job <- function(name, if (database == "genesis") { - response <- gen_api("data/resultfile", - name = name, - area = area, - compress = compress, - format = "ffcsv", - language = language) + response <- gen_genesis_api("data/resultfile", + name = name, + area = area, + compress = compress, + format = "ffcsv", + language = language) response_type <- resp_check_data(response) diff --git a/R/gen_metadata.R b/R/gen_meta_data.R similarity index 77% rename from R/gen_metadata.R rename to R/gen_meta_data.R index bbfa9f4..542d38a 100644 --- a/R/gen_metadata.R +++ b/R/gen_meta_data.R @@ -88,14 +88,14 @@ gen_metadata_statistic <- function(code = NULL, if (isFALSE(raw)) { - df_stats <-cbind("Code" = results_json$Object$Code, - "Content" = results_json$Object$Content, - "Cubes" = results_json$Object$Cubes, - "Variables" = results_json$Object$Variables, - "Information" = results_json$Object$Information, - "Time_from" = results_json$Object$Frequency[[1]]$From, - "Time_to" = results_json$Object$Frequency[[1]]$To, - "Time_type" = results_json$Object$Frequency[[1]]$Type) + df_stats <-cbind("Code" = results_json$Object$Code, + "Content" = results_json$Object$Content, + "Cubes" = results_json$Object$Cubes, + "Variables" = results_json$Object$Variables, + "Information" = results_json$Object$Information, + "Time_from" = results_json$Object$Frequency[[1]]$From, + "Time_to" = results_json$Object$Frequency[[1]]$To, + "Time_type" = results_json$Object$Frequency[[1]]$Type) } else { df_stats <- results_json$Object @@ -213,12 +213,12 @@ gen_metadata_variable <- function(code = NULL, if (isFALSE(raw)) { - df_var <-cbind("Code" = results_json$Object$Code, - "Content" = results_json$Object$Content, - "Values" = results_json$Object$Values, - "Type" = results_json$Object$Type, - "Validity_from" = results_json$Object$Validity$From, - "Validity_to" = results_json$Object$Validity$To) + df_var <-cbind("Code" = results_json$Object$Code, + "Content" = results_json$Object$Content, + "Values" = results_json$Object$Values, + "Type" = results_json$Object$Type, + "Validity_from" = results_json$Object$Validity$From, + "Validity_to" = results_json$Object$Validity$To) } @@ -346,9 +346,9 @@ gen_metadata_value <- function(code = NULL, if (isFALSE(raw)) { - df_value <-cbind("Code" = results_json$Object$Code, - "Content" = results_json$Object$Content, - "Variables" = results_json$Object$Variables) + df_value <-cbind("Code" = results_json$Object$Code, + "Content" = results_json$Object$Content, + "Variables" = results_json$Object$Variables) } @@ -474,86 +474,86 @@ gen_metadata_table <- function(code = NULL, if (isFALSE(raw)) { - char <- cbind("Code" = results_json$Object$Code, - "Content" = results_json$Object$Content, - "Time_From" = results_json$Object$Time$From, - "Time_To" = results_json$Object$Time$To, - "Valid" = results_json$Object$Valid) + char <- cbind("Code" = results_json$Object$Code, + "Content" = results_json$Object$Content, + "Time_From" = results_json$Object$Time$From, + "Time_To" = results_json$Object$Time$To, + "Valid" = results_json$Object$Valid) - embedded <- cbind("Code" = results_json$Object$Structure$Head$Code, - "Content" = results_json$Object$Structure$Head$Content, - "Type" = results_json$Object$Structure$Head$Type, - "Values" = results_json$Object$Structure$Head$Values, - "Selection" = results_json$Object$Structure$Head$Selected, - "Updated" = results_json$Object$Structure$Head$Updated) + embedded <- cbind("Code" = results_json$Object$Structure$Head$Code, + "Content" = results_json$Object$Structure$Head$Content, + "Type" = results_json$Object$Structure$Head$Type, + "Values" = results_json$Object$Structure$Head$Values, + "Selection" = results_json$Object$Structure$Head$Selected, + "Updated" = results_json$Object$Structure$Head$Updated) - structure <- list() + structure <- list() - structure$Head <- if (length(results_json$Object$Structure$Head$Structure) == 1) { + structure$Head <- if (length(results_json$Object$Structure$Head$Structure) == 1) { - cbind("Code" = results_json$Object$Structure$Head$Structure[[1]]$Code, - "Content" = results_json$Object$Structure$Head$Structure[[1]]$Content, - "Type" = results_json$Object$Structure$Head$Structure[[1]]$Type, - "Values" = results_json$Object$Structure$Head$Structure[[1]]$Values, - "Selected" = results_json$Object$Structure$Head$Structure[[1]]$Selected, - "Structure" = results_json$Object$Structure$Head$Structure[[1]]$Structure, - "Updated" = results_json$Object$Structure$Head$Structure[[1]]$Updated) + cbind("Code" = results_json$Object$Structure$Head$Structure[[1]]$Code, + "Content" = results_json$Object$Structure$Head$Structure[[1]]$Content, + "Type" = results_json$Object$Structure$Head$Structure[[1]]$Type, + "Values" = results_json$Object$Structure$Head$Structure[[1]]$Values, + "Selected" = results_json$Object$Structure$Head$Structure[[1]]$Selected, + "Structure" = results_json$Object$Structure$Head$Structure[[1]]$Structure, + "Updated" = results_json$Object$Structure$Head$Structure[[1]]$Updated) - } else { + } else { - cbind("Code" = unlist(lapply(results_json$Object$Structure$Columns, `[[`, 1)), - "Content" = unlist(lapply(results_json$Object$Structure$Columns, `[[`, 2)), - "Type" = unlist(lapply(results_json$Object$Structure$Columns, `[[`, 3)), - "Values" = unlist(lapply(results_json$Object$Structure$Columns, `[[`, 4)), - "Selected" = unlist(lapply(results_json$Object$Structure$Columns, `[[`, 5)), - "Structure" = unlist(lapply(results_json$Object$Structure$Columns, `[[`, 6)), - "Updated" = unlist(lapply(results_json$Object$Structure$Columns, `[[`, 7))) + cbind("Code" = unlist(lapply(results_json$Object$Structure$Columns, `[[`, 1)), + "Content" = unlist(lapply(results_json$Object$Structure$Columns, `[[`, 2)), + "Type" = unlist(lapply(results_json$Object$Structure$Columns, `[[`, 3)), + "Values" = unlist(lapply(results_json$Object$Structure$Columns, `[[`, 4)), + "Selected" = unlist(lapply(results_json$Object$Structure$Columns, `[[`, 5)), + "Structure" = unlist(lapply(results_json$Object$Structure$Columns, `[[`, 6)), + "Updated" = unlist(lapply(results_json$Object$Structure$Columns, `[[`, 7))) - } + } - structure$Columns <- if (length(results_json$Object$Structure$Columns) == 1) { + structure$Columns <- if (length(results_json$Object$Structure$Columns) == 1) { - cbind("Code" = results_json$Object$Structure$Columns[[1]]$Code, - "Content" = results_json$Object$Structure$Columns[[1]]$Content, - "Type" = results_json$Object$Structure$Columns[[1]]$Type, - "Unit" = results_json$Object$Structure$Columns[[1]]$Unit, - "Values" = results_json$Object$Structure$Columns[[1]]$Values, - "Updated" = results_json$Object$Structure$Columns[[1]]$Updated) + cbind("Code" = results_json$Object$Structure$Columns[[1]]$Code, + "Content" = results_json$Object$Structure$Columns[[1]]$Content, + "Type" = results_json$Object$Structure$Columns[[1]]$Type, + "Unit" = results_json$Object$Structure$Columns[[1]]$Unit, + "Values" = results_json$Object$Structure$Columns[[1]]$Values, + "Updated" = results_json$Object$Structure$Columns[[1]]$Updated) - } else { + } else { - cbind("Code" = unlist(lapply(results_json$Object$Structure$Columns, `[[`, 1)), - "Content" = unlist(lapply(results_json$Object$Structure$Columns, `[[`, 2)), - "Type" = unlist(lapply(results_json$Object$Structure$Columns, `[[`, 3)), - "Unit" = unlist(lapply(results_json$Object$Structure$Columns, `[[`, 4)), - "Values" = unlist(lapply(results_json$Object$Structure$Columns, `[[`, 5)), - "Updated" = unlist(lapply(results_json$Object$Structure$Columns, `[[`, 6))) + cbind("Code" = unlist(lapply(results_json$Object$Structure$Columns, `[[`, 1)), + "Content" = unlist(lapply(results_json$Object$Structure$Columns, `[[`, 2)), + "Type" = unlist(lapply(results_json$Object$Structure$Columns, `[[`, 3)), + "Unit" = unlist(lapply(results_json$Object$Structure$Columns, `[[`, 4)), + "Values" = unlist(lapply(results_json$Object$Structure$Columns, `[[`, 5)), + "Updated" = unlist(lapply(results_json$Object$Structure$Columns, `[[`, 6))) - } + } - structure$Rows <- if (length(results_json$Object$Structure$Rows) == 1) { + structure$Rows <- if (length(results_json$Object$Structure$Rows) == 1) { - cbind("Code" = results_json$Object$Structure$Rows[[1]]$Code, - "Content" = results_json$Object$Structure$Rows[[1]]$Content, - "Type" = results_json$Object$Structure$Rows[[1]]$Type, - "Unit" = results_json$Object$Structure$Rows[[1]]$Unit, - "Values" = results_json$Object$Structure$Rows[[1]]$Values, - "Updated" = results_json$Object$Structure$Rows[[1]]$Updated) + cbind("Code" = results_json$Object$Structure$Rows[[1]]$Code, + "Content" = results_json$Object$Structure$Rows[[1]]$Content, + "Type" = results_json$Object$Structure$Rows[[1]]$Type, + "Unit" = results_json$Object$Structure$Rows[[1]]$Unit, + "Values" = results_json$Object$Structure$Rows[[1]]$Values, + "Updated" = results_json$Object$Structure$Rows[[1]]$Updated) - } else { + } else { - cbind("Code" = unlist(lapply(results_json$Object$Structure$Rows, `[[`, 1)), - "Content" = unlist(lapply(results_json$Object$Structure$Rows, `[[`, 2)), - "Type" = unlist(lapply(results_json$Object$Structure$Rows, `[[`, 3)), - "Unit" = unlist(lapply(results_json$Object$Structure$Rows, `[[`, 4)), - "Values" = unlist(lapply(results_json$Object$Structure$Rows, `[[`, 5)), - "Updated" = unlist(lapply(results_json$Object$Structure$Rows, `[[`, 6))) + cbind("Code" = unlist(lapply(results_json$Object$Structure$Rows, `[[`, 1)), + "Content" = unlist(lapply(results_json$Object$Structure$Rows, `[[`, 2)), + "Type" = unlist(lapply(results_json$Object$Structure$Rows, `[[`, 3)), + "Unit" = unlist(lapply(results_json$Object$Structure$Rows, `[[`, 4)), + "Values" = unlist(lapply(results_json$Object$Structure$Rows, `[[`, 5)), + "Updated" = unlist(lapply(results_json$Object$Structure$Rows, `[[`, 6))) - } + } - } + } - } # End of empty_object == "DONE" + } # End of empty_object == "DONE" if (isFALSE(raw)) { @@ -680,54 +680,54 @@ gen_metadata_cube <- function(code = NULL, if (isFALSE(raw)) { - char <-cbind("Code" = results_json$Object$Code, - "Content" = results_json$Object$Content, - "State" = results_json$Object$State, - "Values" = results_json$Object$Values) + char <-cbind("Code" = results_json$Object$Code, + "Content" = results_json$Object$Content, + "State" = results_json$Object$State, + "Values" = results_json$Object$Values) - time <-cbind(unlist(results_json$Object$Timeslices)) + time <-cbind(unlist(results_json$Object$Timeslices)) - stat <-cbind("Code" = results_json$Object$Statistic$Code, - "Content" = results_json$Object$Statistic$Content, - "Updated" = results_json$Object$Statistic$Updated) + stat <-cbind("Code" = results_json$Object$Statistic$Code, + "Content" = results_json$Object$Statistic$Content, + "Updated" = results_json$Object$Statistic$Updated) - structure <- list() + structure <- list() - structure$Axis <- if (length(results_json$Object$Structure$Axis) == 1) { + structure$Axis <- if (length(results_json$Object$Structure$Axis) == 1) { - cbind("Code" = results_json$Object$Structure$Axis[[1]]$Code, - "Content" = results_json$Object$Structure$Axis[[1]]$Content, - "Type" = results_json$Object$Structure$Axis[[1]]$Type, - "Updated" = results_json$Object$Structure$Axis[[1]]$Updated) + cbind("Code" = results_json$Object$Structure$Axis[[1]]$Code, + "Content" = results_json$Object$Structure$Axis[[1]]$Content, + "Type" = results_json$Object$Structure$Axis[[1]]$Type, + "Updated" = results_json$Object$Structure$Axis[[1]]$Updated) - } else { + } else { - cbind("Code" = unlist(lapply(results_json$Object$Structure$Axis, `[[`, 1)), - "Content" = unlist(lapply(results_json$Object$Structure$Axis, `[[`, 2)), - "Type" = unlist(lapply(results_json$Object$Structure$Axis, `[[`, 3)), - "Updated" = unlist(lapply(results_json$Object$Structure$Axis, `[[`, 4))) - } + cbind("Code" = unlist(lapply(results_json$Object$Structure$Axis, `[[`, 1)), + "Content" = unlist(lapply(results_json$Object$Structure$Axis, `[[`, 2)), + "Type" = unlist(lapply(results_json$Object$Structure$Axis, `[[`, 3)), + "Updated" = unlist(lapply(results_json$Object$Structure$Axis, `[[`, 4))) + } - structure$Content <- if (length(results_json$Object$Structure$Contents) == 1) { + structure$Content <- if (length(results_json$Object$Structure$Contents) == 1) { - cbind("Code" = results_json$Object$Structure$Contents[[1]]$Code, - "Content" = results_json$Object$Structure$Contents[[1]]$Content, - "Type" = results_json$Object$Structure$Contents[[1]]$Type, - "Unit" = results_json$Object$Structure$Contents[[1]]$Unit, - "Values" = results_json$Object$Structure$Contents[[1]]$Values, - "Updated" = results_json$Object$Structure$Contents[[1]]$Updated, - "Timeslices" = results_json$Object$Structure$Contents[[1]]$Timeslices) + cbind("Code" = results_json$Object$Structure$Contents[[1]]$Code, + "Content" = results_json$Object$Structure$Contents[[1]]$Content, + "Type" = results_json$Object$Structure$Contents[[1]]$Type, + "Unit" = results_json$Object$Structure$Contents[[1]]$Unit, + "Values" = results_json$Object$Structure$Contents[[1]]$Values, + "Updated" = results_json$Object$Structure$Contents[[1]]$Updated, + "Timeslices" = results_json$Object$Structure$Contents[[1]]$Timeslices) - } else { + } else { - cbind("Code" = unlist(lapply(results_json$Object$Structure$Contents, `[[`, 1)), - "Content" = unlist(lapply(results_json$Object$Structure$Contents, `[[`, 2)), - "Type" = unlist(lapply(results_json$Object$Structure$Contents, `[[`, 3)), - "Unit" = unlist(lapply(results_json$Object$Structure$Contents, `[[`, 4)), - "Values" = unlist(lapply(results_json$Object$Structure$Contents, `[[`, 5)), - "Updated" = unlist(lapply(results_json$Object$Structure$Contents, `[[`, 7)), - "Timeslices" = unlist(lapply(results_json$Object$Structure$Contents, `[[`, 6))) - } + cbind("Code" = unlist(lapply(results_json$Object$Structure$Contents, `[[`, 1)), + "Content" = unlist(lapply(results_json$Object$Structure$Contents, `[[`, 2)), + "Type" = unlist(lapply(results_json$Object$Structure$Contents, `[[`, 3)), + "Unit" = unlist(lapply(results_json$Object$Structure$Contents, `[[`, 4)), + "Values" = unlist(lapply(results_json$Object$Structure$Contents, `[[`, 5)), + "Updated" = unlist(lapply(results_json$Object$Structure$Contents, `[[`, 7)), + "Timeslices" = unlist(lapply(results_json$Object$Structure$Contents, `[[`, 6))) + } } } diff --git a/R/gen_modified_data.R b/R/gen_modified_data.R index 1e1c60d..7aa6dd2 100644 --- a/R/gen_modified_data.R +++ b/R/gen_modified_data.R @@ -116,7 +116,7 @@ gen_modified_data <- function(code = "", if (type == "statisticsUpdates") { - if (db == "gen_api" | db == "gen_api_regio") { + if (db == "gen_genesis_api" | db == "gen_regio_api") { par_list <- list(endpoint = "catalogue/modifieddata", username = gen_auth_get(database = rev_database_function(db))$username, diff --git a/R/gen_objects2stat.R b/R/gen_objects2stat.R index 0674227..f7835a7 100644 --- a/R/gen_objects2stat.R +++ b/R/gen_objects2stat.R @@ -181,7 +181,7 @@ gen_objects2stat <- function(code = NULL, return(df_cubes) - } else if ("cubes" %in% category && (db == "gen_api" || db == "gen_regio_api")) { + } else if ("cubes" %in% category && (db == "gen_genesis_api" || db == "gen_regio_api")) { results_raw <- do.call(db, list(endpoint = "catalogue/cubes2statistic", username = gen_auth_get(database = rev_database_function(db))$username, diff --git a/R/gen_objects2var.R b/R/gen_objects2var.R index 9f59675..450f9fa 100644 --- a/R/gen_objects2var.R +++ b/R/gen_objects2var.R @@ -177,7 +177,7 @@ gen_objects2var <- function(code = NULL, df_cubes <- "There are generally no 'cubes' objects available for the 'zensus' database." - } else if ("cubes" %in% category && (db == "gen_api" || db == "gen_regio_api")) { + } else if ("cubes" %in% category && (db == "gen_genesis_api" || db == "gen_regio_api")) { results_raw <- do.call(db, list(endpoint = "catalogue/timeseries2variable", username = gen_auth_get(database = rev_database_function(db))$username, diff --git a/R/gen_table.R b/R/gen_table.R index 38a3225..67a14ef 100644 --- a/R/gen_table.R +++ b/R/gen_table.R @@ -50,7 +50,9 @@ #' } #' gen_table <- function(name, ...) { + gen_table_(name, ...) + } #------------------------------------------------------------------------------- @@ -73,7 +75,8 @@ gen_table_ <- function(name, stand = NULL, language = Sys.getenv("GENESIS_LANG"), job = FALSE, - all_character = TRUE) { + all_character = TRUE, + overwrite_url = NULL) { #----------------------------------------------------------------------------- # Parameter processing @@ -85,6 +88,14 @@ gen_table_ <- function(name, } + if (!is.null(overwrite_url) & + (!is.character(overwrite_url) | length(overwrite_url) != 1)) { + + stop("The parameter 'overwrite_url' has to be of type 'character' and of length 1.", + call. = FALSE) + + } + database <- match.arg(database) area <- match.arg(area) @@ -130,31 +141,33 @@ gen_table_ <- function(name, stand = stand, language = language, format = "ffcsv", - job = FALSE) + job = FALSE, + overwrite_url = overwrite_url) #----------------------------------------------------------------------------- } else if (database == "genesis"){ - response <- gen_api("data/tablefile", - name = name, - area = area, - compress = compress, - transpose = transpose, - startyear = startyear, - endyear = endyear, - regionalvariable = regionalvariable, - regionalkey = regionalkey, - classifyingvariable1 = classifyingvariable1, - classifyingkey1 = classifyingkey1, - classifyingvariable2 = classifyingvariable2, - classifyingkey2 = classifyingkey2, - classifyingvariable3 = classifyingvariable3, - classifyingkey3 = classifyingkey3, - stand = stand, - language = language, - format = "ffcsv", - job = job) + response <- gen_genesis_api("data/tablefile", + name = name, + area = area, + compress = compress, + transpose = transpose, + startyear = startyear, + endyear = endyear, + regionalvariable = regionalvariable, + regionalkey = regionalkey, + classifyingvariable1 = classifyingvariable1, + classifyingkey1 = classifyingkey1, + classifyingvariable2 = classifyingvariable2, + classifyingkey2 = classifyingkey2, + classifyingvariable3 = classifyingvariable3, + classifyingkey3 = classifyingkey3, + stand = stand, + language = language, + format = "ffcsv", + job = job, + overwrite_url = overwrite_url) #----------------------------------------------------------------------------- @@ -178,7 +191,8 @@ gen_table_ <- function(name, stand = stand, language = language, format = "ffcsv", - job = job) + job = job, + overwrite_url = overwrite_url) #----------------------------------------------------------------------------- diff --git a/R/gen_var2-val2.R b/R/gen_var2-val2.R index 558a165..20af9af 100644 --- a/R/gen_var2-val2.R +++ b/R/gen_var2-val2.R @@ -71,7 +71,7 @@ gen_var2stat <- function(code = NULL, name = code, ...) - if (db == "gen_api" | db == "gen_regio_api") { + if (db == "gen_genesis_api" | db == "gen_regio_api") { par_list <- append(par_list, list(area = area)) @@ -209,7 +209,7 @@ gen_val2var <- function(code = NULL, name = code, ...) - if (db == "gen_api" | db == "gen_regio_api") { + if (db == "gen_genesis_api" | db == "gen_regio_api") { par_list <- append(par_list, list(area = area)) @@ -456,7 +456,7 @@ gen_search_vars <- function(code = NULL, area = area, ...) - if (db == "gen_api" | db == "gen_regio_api") { + if (db == "gen_genesis_api" | db == "gen_regio_api") { par_list <- append(par_list, list(area = area)) diff --git a/R/utils_dataprocessing.R b/R/utils_dataprocessing.R index da6ac80..76940ad 100644 --- a/R/utils_dataprocessing.R +++ b/R/utils_dataprocessing.R @@ -509,7 +509,7 @@ check_function_input <- function(code = NULL, #------------------------------------------------------------------------------- - if("gen_api" %in% database){ + if("gen_genesis_api" %in% database){ if (!all(category %in% c("tables", "cubes", "statistics"))) { @@ -589,7 +589,7 @@ check_function_input <- function(code = NULL, #------------------------------------------------------------------------- - if("gen_api" %in% database){ + if("gen_genesis_api" %in% database){ if (!all(category %in% c("tables", "cubes", "variables"))) { @@ -612,7 +612,7 @@ check_function_input <- function(code = NULL, #--------------------------------------------------------------------- - if("gen_api" %in% database){ + if("gen_genesis_api" %in% database){ stop("Available categories for parameter 'category' for 'genesis' database are 'all', 'tables', 'statistics', 'variables', and 'cubes'.", call. = FALSE) @@ -680,7 +680,7 @@ check_function_input <- function(code = NULL, #------------------------------------------------------------------------- - if("gen_api" %in% database){ + if("gen_genesis_api" %in% database){ #----------------------------------------------------------------------- @@ -740,7 +740,7 @@ check_function_input <- function(code = NULL, #--------------------------------------------------------------------------- - if ("gen_api" %in% database){ + if ("gen_genesis_api" %in% database){ #------------------------------------------------------------------------- @@ -1129,7 +1129,7 @@ test_database_function <- function(input, error.input, text){ if ("genesis" %in% input) { - res <- c(res, "genesis" = "gen_api") + res <- c(res, "genesis" = "gen_genesis_api") } @@ -1153,7 +1153,7 @@ test_database_function <- function(input, error.input, text){ } - res <- c("genesis" = "gen_api", "zensus" = "gen_zensus_api", "regio" = "gen_regio_api") + res <- c("genesis" = "gen_genesis_api", "zensus" = "gen_zensus_api", "regio" = "gen_regio_api") } else if (length(res) != length(input)) { @@ -1257,7 +1257,7 @@ test_database_function <- function(input, error.input, text){ #' rev_database_function <- function(input){ - input[which(input == "gen_api")] <- "genesis" + input[which(input == "gen_genesis_api")] <- "genesis" input[which(input == "gen_zensus_api")] <- "zensus" input[which(input == "gen_regio_api")] <- "regio" diff --git a/R/utils_httr2.R b/R/utils_httr2.R index 73fb9f6..a426db5 100644 --- a/R/utils_httr2.R +++ b/R/utils_httr2.R @@ -438,7 +438,7 @@ logincheck_http_error <- function(database, #--------------------------------------------------------------------------- - if (database == "genesis") response <- gen_api("helloworld/logincheck") + if (database == "genesis") response <- gen_genesis_api("helloworld/logincheck") if (database == "zensus") response <- gen_zensus_api("helloworld/logincheck") if (database == "regio") response <- gen_regio_api("helloworld/logincheck") @@ -453,7 +453,7 @@ logincheck_http_error <- function(database, databases <- list("genesis", "zensus", "regio") - response_list <- list(response_genesis = gen_api("helloworld/logincheck"), + response_list <- list(response_genesis = gen_genesis_api("helloworld/logincheck"), response_zensus = gen_zensus_api("helloworld/logincheck"), response_regio = gen_regio_api("helloworld/logincheck")) @@ -479,7 +479,7 @@ logincheck_http_error <- function(database, if ("genesis" %in% database) { - logincheck_stop_or_warn(response = gen_api("helloworld/logincheck"), + logincheck_stop_or_warn(response = gen_genesis_api("helloworld/logincheck"), error = FALSE, verbose = verbose, database = "genesis") diff --git a/R/zzz.R b/R/zzz.R index 0526d54..22deb39 100644 --- a/R/zzz.R +++ b/R/zzz.R @@ -1,6 +1,6 @@ .onLoad <- function(libname, pkgname) { - gen_api <<- memoise::memoise(gen_api) + gen_genesis_api <<- memoise::memoise(gen_genesis_api) gen_zensus_api <<- memoise::memoise(gen_zensus_api) gen_regio_api <<- memoise::memoise(gen_regio_api)