options(show.error.messages =TRUE)
curwd = getwd()
data_dir = paste(curwd, "data/", sep="/")

setwd(data_dir)


correct_file = "practical3.R"
output_file = file("~/public_html/teaching/mas1343/practical3file.txt", open="w")
cat("##Last updated:", as.character(Sys.time()), "\n", file=output_file, append=TRUE)

stud_dirs = list.files(data_dir)
for(dir in stud_dirs) {
  setwd(paste(data_dir, dir, sep="/"))
  for(file_name in list.files()) {
    if(file_name == "practical3.R")
      cat(dir, list.files(), ": OK", "\n", file=output_file, append=TRUE)
    else
      cat(dir, list.files(), ": Incorrect file name", "\n", file=output_file, append=TRUE)
  }
}
flush(output_file)
close(output_file)
  

output_file = file("~/public_html/teaching/mas1343/practical3load.txt",
  open="w")
#output_file = stdout()
cat("##Last updated:", as.character(Sys.time()), "\n", file=output_file, append=TRUE)

stud_dirs = list.files(data_dir)
for(direct in stud_dirs) {
  setwd(paste(data_dir, direct, sep="/"))
  file_name = list.files()
  if(file_name == "practical3.R") {
    y = try(sys.source("practical3.R", new.env() ), FALSE)
    if(class(y) == "try-error") {
      cat(direct, list.files(), ": Error: \n", y[1], "\n",
          file=output_file, append=TRUE)
    } else {
      cat(direct, list.files(), ": loaded OK", "\n",
          file=output_file, append=TRUE)
    }
  }
}

output_file


flush(output_file)
close(output_file)
