inst/deploy_scripts/test_data.R

## Process the files of interest:
##
directory <- "//sva.se/UPP/Temp/Falkenrapporter"
files <- c("AI_vilda.csv",
           "E15-026 Grundrapport.csv",
           "E16-036 Grundrapport.csv",
           "Harpest-falkenrapport.csv",
           "E18-024 Grundrapport.csv")
scripts <- c("influenza_timeslider.R",
             "deployKvarka.R",
             "CWD_timeslider.R",
             "tularemia_map.R",
             "ASF_timeslider.R")
rp_report <- c("rapportportal/Gemmensamma mappar/SVA/Svala/Sjukdomsövervakning/AI vilda fåglar",
               "rapportportal/Gemmensamma mappar/SVA/Falken/Grundrapport",
               "rapportportal/Gemmensamma mappar/SVA/Falken/Grundrapport",
               "rapportportal/Gemmensamma mappar/SVA/Falken/Grundrapport",
               "rapportportal/Gemmensamma mappar/SVA/Falken/Grundrapport")
rp_parameter <- c(NA, "E15-026", "E16-036", "E19-029", "E18-024")
files <- file.path(directory, files)
info <- file.info(files)
info$name <- files
info$scripts <- scripts
info$rp_report <- rp_report
info$rp_parameter <- rp_parameter
info_data <- do.call("rbind", lapply(files, function(x){
    if(file.exists(x)) {
        df <- read.csv2(x)
        rows <- nrow(df)
        if("Uppdragid" %in% names(df)) {
            blank <- all(is.na(df$Uppdragid))
        }
        if("Uppdragsid" %in% names(df)) {
            blank <- all(is.na(df$Uppdragsid))
        }
        df <- data.frame(name = x,
                         row = rows,
                         data_blank = blank, stringsAsFactors = FALSE)
        return(df)
    }
    return(NULL)
}))
info$row <- info_data$row[match(info$name, info_data$name)]
info$data_blank <- info_data$data_blank[match(info$name, info_data$name)]
info$age <- as.numeric(difftime(Sys.time(), info$mtime, units = "hours"))
## Report something back:
## Are the file empty?
empty_files <- NULL
if(any(info$size < 5000)) {
    empty_files <- paste(info$rp_report[info$size < 5000],
                         "with parameter",
                         info$rp_parameter[info$size < 5000],
                         "has a very small file size")
}
empty_data <- NULL
if(any(info$data_blank & info$size >= 5000)) {
    empty_data <- paste(info$rp_report[info$data_blank & info$size >= 5000],
                        "with parameter",
                        info$rp_parameter[info$data_blank & info$size >= 5000],
                        "contains data but UppdragID is blank throughout")
}
old_data <- NULL
if(any(info$age > 75)) {
    old_data <- paste(info$rp_report[info$age > 75],
                      "with parameter",
                      info$rp_parameter[info$age > 75],
                      "has not run for the past 72 hours")
}
missing_files <- NULL
if(any(is.na(info$mtime))) {
    missing_files <- paste(info$rp_report[is.na(info$mtime)],
                      "with parameter",
                      info$rp_parameter[is.na(info$mtime)],
                      "has not run recently")
}

report <- do.call("c", list(empty_files,
                            empty_data,
                            old_data,
                            missing_files)
                  )
if(is.null(report)) {
    report <- "No errors detected"
}
writeLines(report, con = "//sva.se/UPP/Temp/Falkenrapporter/rp_report.txt")
SVA-SE/svamap documentation built on Sept. 25, 2020, 3:53 p.m.