From 92dbcf8c0668cb1216d4f519b0abf45fee5e5c79 Mon Sep 17 00:00:00 2001
From: unknown <ldecicco@usgs.gov>
Date: Fri, 12 Dec 2014 15:04:07 -0600
Subject: [PATCH] Added check to add attributes only if data is returned.

---
 R/readWQPdata.R | 68 ++++++++++++++++++++++++++-----------------------
 1 file changed, 36 insertions(+), 32 deletions(-)

diff --git a/R/readWQPdata.R b/R/readWQPdata.R
index 66c56e0c..a0573d53 100644
--- a/R/readWQPdata.R
+++ b/R/readWQPdata.R
@@ -116,38 +116,42 @@ readWQPdata <- function(...){
 
   retval <- importWQP(urlCall,FALSE)
   
-  siteInfo <- whatWQPsites(...)
-  
-  siteInfoCommon <- data.frame(station_nm=siteInfo$MonitoringLocationName,
-                               agency_cd=siteInfo$OrganizationIdentifier,
-                               site_no=siteInfo$MonitoringLocationIdentifier,
-                               dec_lat_va=siteInfo$LatitudeMeasure,
-                               dec_lon_va=siteInfo$LongitudeMeasure,
-                               hucCd=siteInfo$HUCEightDigitCode,
+  if(!is.na(retval)){
+    siteInfo <- whatWQPsites(...)
+    
+    siteInfoCommon <- data.frame(station_nm=siteInfo$MonitoringLocationName,
+                                 agency_cd=siteInfo$OrganizationIdentifier,
+                                 site_no=siteInfo$MonitoringLocationIdentifier,
+                                 dec_lat_va=siteInfo$LatitudeMeasure,
+                                 dec_lon_va=siteInfo$LongitudeMeasure,
+                                 hucCd=siteInfo$HUCEightDigitCode,
+                                 stringsAsFactors=FALSE)
+    
+    siteInfo <- cbind(siteInfoCommon, siteInfo)
+    
+    retvalVariableInfo <- retval[,c("CharacteristicName","USGSPCode",
+                                    "ResultMeasure.MeasureUnitCode","ResultSampleFractionText")]
+    retvalVariableInfo <- unique(retvalVariableInfo)
+    
+    variableInfo <- data.frame(characteristicName=retval$CharacteristicName,
+                               parameterCd=retval$USGSPCode,
+                               param_units=retval$ResultMeasure.MeasureUnitCode,
+                               valueType=retval$ResultSampleFractionText,
                                stringsAsFactors=FALSE)
-  
-  siteInfo <- cbind(siteInfoCommon, siteInfo)
-  
-  
-  variableInfo <- data.frame(characteristicName=retval$CharacteristicName,
-                             parameterCd=retval$USGSPCode,
-                             param_units=retval$ResultMeasure.MeasureUnitCode,
-                             valueType=retval$ResultSampleFractionText,
-                             stringsAsFactors=FALSE)
-  variableInfo <- unique(variableInfo)
-  
-  if(any(!is.na(variableInfo$parameterCd))){
-    pCodeToName <- pCodeToName
-    varExtras <- pCodeToName[pCodeToName$parm_cd %in% unique(variableInfo$parameterCd[!is.na(variableInfo$parameterCd)]),]
-    names(varExtras)[names(varExtras) == "parm_cd"] <- "parameterCd"
-    variableInfo <- merge(variableInfo, varExtras, by="parameterCd")
+    
+    if(any(!is.na(variableInfo$parameterCd))){
+      pCodeToName <- pCodeToName
+      varExtras <- pCodeToName[pCodeToName$parm_cd %in% unique(variableInfo$parameterCd[!is.na(variableInfo$parameterCd)]),]
+      names(varExtras)[names(varExtras) == "parm_cd"] <- "parameterCd"
+      variableInfo <- merge(variableInfo, varExtras, by="parameterCd")
+      variableInfo <- unique(variableInfo)
+    }
+    
+    attr(retval, "siteInfo") <- siteInfo
+    attr(retval, "variableInfo") <- variableInfo
+    attr(retval, "url") <- urlCall
+    attr(retval, "queryTime") <- Sys.time()
+    
+    return(retval)
   }
-  
-  attr(retval, "siteInfo") <- siteInfo
-  attr(retval, "variableInfo") <- variableInfo
-  attr(retval, "url") <- urlCall
-  attr(retval, "queryTime") <- Sys.time()
-  
-  return(retval)
-  
 }
\ No newline at end of file
-- 
GitLab