add read / write from / to csv and move checking directory to helpers
This commit is contained in:
@@ -43,18 +43,7 @@ fetch_all <- function(download_dir="records/", create=FALSE) {
|
||||
if (str_sub(download_dir, -1) != .Platform$file.sep)
|
||||
download_dir <- str_c(download_dir, .Platform$file.sep)
|
||||
|
||||
# check if download_dir exists
|
||||
if(file.access(download_dir, mode=0) == -1) {
|
||||
if (create) {
|
||||
tryCatch(dir.create(download_dir),
|
||||
error = stop_dir_not_creatable,
|
||||
warning = stop_dir_not_creatable)
|
||||
} else {
|
||||
stop("Directory does not exist. Use create = TRUE if you wish to create the directory.")
|
||||
}
|
||||
} else if (file.access(download_dir, mode=2) == -1) {
|
||||
stop("Directory exists, but is not writeable.")
|
||||
}
|
||||
check_directory(download_dir, create)
|
||||
cat("Fetching all available records from bundestag.de. This may take a while ...\n")
|
||||
|
||||
# create progress bar
|
||||
|
||||
+15
@@ -3,3 +3,18 @@
|
||||
flip <- function(f) function(x, y) f(y, x)
|
||||
|
||||
clear_na <- function(xs) xs[!is.na(xs)]
|
||||
|
||||
check_directory <- function(path, create=F) {
|
||||
# check if download_dir exists
|
||||
if(file.access(path, mode=0) == -1) {
|
||||
if (create) {
|
||||
tryCatch(dir.create(path),
|
||||
error = stop_dir_not_creatable,
|
||||
warning = stop_dir_not_creatable)
|
||||
} else {
|
||||
stop("Directory does not exist. Use create = TRUE if you wish to create the directory.")
|
||||
}
|
||||
} else if (file.access(path, mode=2) == -1) {
|
||||
stop("Directory exists, but is not writeable.")
|
||||
}
|
||||
}
|
||||
|
||||
@@ -189,6 +189,25 @@ parse_rednerliste <- function(rednerliste_xml) {
|
||||
rolle_lang = d["rolle_lang",])
|
||||
}
|
||||
|
||||
write_to_csv <- function(tables, path="csv/", create=F) {
|
||||
check_directory(path, create)
|
||||
write.table(tables$redner, str_c(path, "redner.csv"))
|
||||
write.table(tables$reden, str_c(path, "reden.csv"))
|
||||
write.table(tables$talks, str_c(path, "talks.csv"))
|
||||
write.table(tables$comments, str_c(path, "comments.csv"))
|
||||
}
|
||||
|
||||
read_from_csv <- function(path="csv/") {
|
||||
list(redner = read.table(str_c(path, "redner.csv")) %>%
|
||||
tibble() %>%
|
||||
mutate(id = as.character(id)),
|
||||
reden = read.table(str_c(path, "reden.csv")) %>%
|
||||
tibble() %>%
|
||||
mutate(redner = as.character(redner)),
|
||||
talks = tibble %$% read.table(str_c(path, "talks.csv")),
|
||||
comments = tibble %$% read.table(str_c(path, "comments.csv")))
|
||||
}
|
||||
|
||||
# -------------------------------
|
||||
# EXAMPLE USE
|
||||
|
||||
|
||||
Reference in New Issue
Block a user