From 63f2369a50a30969e1400887ae4a4ac15a965a40 Mon Sep 17 00:00:00 2001 From: chainsawriot Date: Mon, 4 Sep 2023 14:05:18 +0200 Subject: [PATCH 1/2] Remove `setwd()` fix #165 --- R/write_ods.R | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/R/write_ods.R b/R/write_ods.R index 8ca9d55..6b13592 100644 --- a/R/write_ods.R +++ b/R/write_ods.R @@ -9,12 +9,9 @@ if (flat) { return(path) ## do nothing } - wd <- getwd() - on.exit(setwd(wd), add = TRUE) - setwd(temp_ods_dir) - zip::zip(basename(path), include_directories = FALSE, recurse = TRUE, files = dir(), mode = "cherry-pick") - setwd(wd) - file.copy(file.path(temp_ods_dir, basename(path)), path, overwrite = overwrite) + zip::zip(path, include_directories = FALSE, recurse = TRUE, + files = list.files(temp_ods_dir), mode = "cherry-pick", + root = temp_ods_dir) return(path) } From af1d5909300ca650d000a9600ac9a3c4d1c7c2b5 Mon Sep 17 00:00:00 2001 From: chainsawriot Date: Mon, 4 Sep 2023 15:23:00 +0200 Subject: [PATCH 2/2] Make sure file overwrite --- R/write_ods.R | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/R/write_ods.R b/R/write_ods.R index 6b13592..6b52932 100644 --- a/R/write_ods.R +++ b/R/write_ods.R @@ -5,13 +5,15 @@ ## .FODS_FOOTER <- paste(readLines("benchmark/fods_footer.xml"), collapse = "\n") ## usethis::use_data(.CONTENT, .FOOTER, .FODS_HEADER, .FODS_FOOTER, internal = TRUE, overwrite = TRUE) -.zip_tmp_to_path <- function(temp_ods_dir, path, overwrite = TRUE, flat = FALSE) { +.zip_tmp_to_path <- function(temp_ods_dir, path, flat = FALSE) { if (flat) { return(path) ## do nothing } - zip::zip(path, include_directories = FALSE, recurse = TRUE, + temp_ods <- file.path(temp_ods_dir, basename(path)) + zip::zip(zipfile = temp_ods, include_directories = FALSE, recurse = TRUE, files = list.files(temp_ods_dir), mode = "cherry-pick", root = temp_ods_dir) + file.copy(temp_ods, path, overwrite = TRUE) return(path) }