From 79d44b88b223127fa2551b4fa49660bfa54e4314 Mon Sep 17 00:00:00 2001 From: unknown <ldecicco@usgs.gov> Date: Thu, 11 Sep 2014 09:34:30 -0500 Subject: [PATCH] Added error handling --- R/getWaterML1Data.r | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/R/getWaterML1Data.r b/R/getWaterML1Data.r index 554b7cbe..213dd869 100644 --- a/R/getWaterML1Data.r +++ b/R/getWaterML1Data.r @@ -24,8 +24,16 @@ #' unitData <- getWaterML1Data(unitDataURL) getWaterML1Data <- function(obs_url){ + h <- basicHeaderGatherer() doc = tryCatch({ - doc <- xmlTreeParse(obs_url, getDTD = FALSE, useInternalNodes = TRUE) + returnedDoc <- getURI(obs_url, headerfunction = h$update) + if(h$value()["Content-Type"] == "text/xml;charset=UTF-8"){ + xmlTreeParse(returnedDoc, getDTD = FALSE, useInternalNodes = TRUE) + } else { + message(paste("URL caused an error:", obs_url)) + message("Content-Type=",h$value()["Content-Type"]) + return(NA) + } }, warning = function(w) { message(paste("URL caused a warning:", obs_url)) @@ -36,6 +44,7 @@ getWaterML1Data <- function(obs_url){ return(NA) }) + doc <- xmlRoot(doc) ns <- xmlNamespaceDefinitions(doc, simplify = TRUE) timeSeries <- xpathApply(doc, "//ns1:timeSeries", namespaces = ns) -- GitLab