54 lines
2.3 KiB
R
54 lines
2.3 KiB
R
#!/usr/bin/env Rscript
|
|
|
|
args <- commandArgs(trailingOnly = FALSE)
|
|
file_arg <- args[grepl("^--file=", args)][1]
|
|
if (!is.na(file_arg)) {
|
|
script_path <- sub("^--file=", "", file_arg)
|
|
repo_root <- normalizePath(file.path(dirname(script_path), "..", ".."), mustWork = FALSE)
|
|
} else {
|
|
repo_root <- normalizePath(getwd(), mustWork = TRUE)
|
|
}
|
|
if (!dir.exists(file.path(repo_root, "data"))) repo_root <- normalizePath(getwd(), mustWork = TRUE)
|
|
|
|
generated_dir <- Sys.getenv("PARTY2D_GENERATED_INPUT_DIR", file.path(repo_root, "_local", "generated-inputs"))
|
|
report_dir <- Sys.getenv("PARTY2D_REPORT_DIR", file.path(repo_root, "_local", "reports"))
|
|
dir.create(report_dir, recursive = TRUE, showWarnings = FALSE)
|
|
|
|
files <- c("text_data.csv", "expert.csv", "lr_data.csv", "union_mapping.csv", "party_families.csv")
|
|
|
|
file_info <- lapply(files, function(file) {
|
|
committed <- file.path(repo_root, "data", file)
|
|
generated <- file.path(generated_dir, file)
|
|
committed_exists <- file.exists(committed)
|
|
generated_exists <- file.exists(generated)
|
|
committed_size <- if (committed_exists) file.info(committed)$size else NA_real_
|
|
generated_size <- if (generated_exists) file.info(generated)$size else NA_real_
|
|
identical_bytes <- committed_exists && generated_exists && isTRUE(tools::md5sum(committed) == tools::md5sum(generated))
|
|
data.frame(
|
|
file = file,
|
|
committed_exists = committed_exists,
|
|
generated_exists = generated_exists,
|
|
committed_size = committed_size,
|
|
generated_size = generated_size,
|
|
identical_bytes = identical_bytes,
|
|
stringsAsFactors = FALSE
|
|
)
|
|
})
|
|
|
|
summary <- do.call(rbind, file_info)
|
|
report <- file.path(report_dir, "input_comparison.md")
|
|
lines <- c(
|
|
"# Model input comparison",
|
|
"",
|
|
paste0("Generated: ", format(Sys.time(), "%Y-%m-%d %H:%M:%S %Z")),
|
|
"",
|
|
"| File | Committed exists | Generated exists | Committed bytes | Generated bytes | Identical bytes |",
|
|
"| --- | --- | --- | ---: | ---: | --- |",
|
|
apply(summary, 1, function(row) {
|
|
paste0("| ", row[["file"]], " | ", row[["committed_exists"]], " | ", row[["generated_exists"]], " | ", row[["committed_size"]], " | ", row[["generated_size"]], " | ", row[["identical_bytes"]], " |")
|
|
})
|
|
)
|
|
writeLines(lines, report)
|
|
print(summary, row.names = FALSE)
|
|
message("Comparison report written to ", report)
|