Skip to content

Commit f15dd7e

Browse files
committed
zenodo - fix management with zipEachDataFile
1 parent 656d806 commit f15dd7e

File tree

1 file changed

+21
-11
lines changed

1 file changed

+21
-11
lines changed

inst/actions/zen4R_deposit_record.R

+21-11
Original file line numberDiff line numberDiff line change
@@ -437,11 +437,15 @@ function(action, entity, config){
437437
config$logger.info("Zenodo: 'zipEachDaTafile' is true - zipping data files")
438438
data_files <- lapply(data_files, function(data_file){
439439
config$logger.info(sprintf("Zenodo: 'zipEachDaTafile' is true - zipping each data file '%s'", data_file))
440-
fileparts <- unlist(strsplit(data_file, "\\."))
441-
if(length(fileparts)>1) fileparts <- fileparts[1:(length(fileparts)-1)]
440+
fileparts <- unlist(strsplit(basename(data_file), "\\."))
441+
fileext <- NULL
442+
if(length(fileparts)>1){
443+
fileext <- fileparts[length(fileparts)]
444+
fileparts <- fileparts[1:(length(fileparts)-1)]
445+
}
442446
filename <- paste0(fileparts, collapse = ".")
443447
outfilename <- NULL
444-
if(fileparts[length(fileparts)] != "parquet"){
448+
if(fileext != "parquet"){
445449
outfilename <- file.path(getwd(), "data", paste0(filename, ".zip"))
446450
zip::zipr(zipfile = outfilename, files = data_file)
447451
}else{
@@ -525,13 +529,16 @@ function(action, entity, config){
525529
if(zipEachDataFile){
526530
config$logger.info("Zenodo: 'zipEachDaTafile' is true - zipping data files")
527531
data_files <- lapply(data_files, function(data_file){
528-
data_file = basename(data_file)
529532
config$logger.info(sprintf("Zenodo: 'zipEachDaTafile' is true - zipping each data file '%s'", data_file))
530-
fileparts <- unlist(strsplit(data_file, "\\."))
531-
if(length(fileparts)>1) fileparts <- fileparts[1:(length(fileparts)-1)]
533+
fileparts <- unlist(strsplit(basename(data_file), "\\."))
534+
fileext <- NULL
535+
if(length(fileparts)>1){
536+
fileext <- fileparts[length(fileparts)]
537+
fileparts <- fileparts[1:(length(fileparts)-1)]
538+
}
532539
filename <- paste0(fileparts, collapse = ".")
533540
outfilename <- NULL
534-
if(fileparts[length(fileparts)] != "parquet"){
541+
if(fileext != "parquet"){
535542
outfilename <- file.path(getwd(), "data", paste0(filename, ".zip"))
536543
zip::zipr(zipfile = outfilename, files = data_file)
537544
}else{
@@ -563,13 +570,16 @@ function(action, entity, config){
563570
if(zipEachDataFile){
564571
config$logger.info("Zenodo: 'zipEachDaTafile' is true - zipping data files")
565572
data_files <- lapply(data_files, function(data_file){
566-
data_file = basename(data_file)
567573
config$logger.info(sprintf("Zenodo: 'zipEachDaTafile' is true - zipping each data file '%s'", data_file))
568-
fileparts <- unlist(strsplit(data_file, "\\."))
569-
if(length(fileparts)>1) fileparts <- fileparts[1:(length(fileparts)-1)]
574+
fileparts <- unlist(strsplit(basename(data_file), "\\."))
575+
fileext <- NULL
576+
if(length(fileparts)>1){
577+
fileext <- fileparts[length(fileparts)]
578+
fileparts <- fileparts[1:(length(fileparts)-1)]
579+
}
570580
filename <- paste0(fileparts, collapse = ".")
571581
outfilename <- NULL
572-
if(fileparts[length(fileparts)] != "parquet"){
582+
if(fileext != "parquet"){
573583
outfilename <- file.path(getwd(), "data", paste0(filename, ".zip"))
574584
zip::zipr(zipfile = outfilename, files = data_file)
575585
}else{

0 commit comments

Comments
 (0)