R/guess-asc-filename.R

Defines functions get_sss_format guess_asc_filename

#' Guess the data filename given the sss filename.
#' 
#' @param x filename
#' @keywords Internal
#' @noRd
guess_asc_filename <- function(x){
  ext <- get_sss_format(x)
  fn <- file.path(
    dirname(x),
    paste0(gsub("\\..*$", "", basename(x)), ext)
  )
  
  fe <- file.exists(fn)
  if (any(fe)) {
    fn[fe]
  } else {
    stop("Unable to find guessed data file at ", fn, call. = FALSE)
  }
}


# Guess if format is csv or asc
get_sss_format <- function(x){
  y <- xml_child(readSSSmetadata(x), "survey/record")
  z <- xml_attr(y, "format")
  if(!is.na(z) && z == "csv") ".csv" else c(".asc", ".dat")
}

Try the sss package in your browser

Any scripts or data that you put into this service are public.

sss documentation built on Aug. 14, 2022, 5:05 p.m.