From 15665a1e83a8704b8eb4f9054f216a084351e9ca Mon Sep 17 00:00:00 2001
From: unknown <ldecicco@usgs.gov>
Date: Fri, 2 Jan 2015 15:05:01 -0600
Subject: [PATCH] Added date checker to data and sites function.

---
 R/readWQPdata.R      | 28 +++-------------------------
 R/whatWQPsites.R     | 26 +-------------------------
 man/checkWQPdates.Rd | 24 ++++++++++++++++++++++++
 man/readWQPdata.Rd   |  2 ++
 4 files changed, 30 insertions(+), 50 deletions(-)
 create mode 100644 man/checkWQPdates.Rd

diff --git a/R/readWQPdata.R b/R/readWQPdata.R
index cc583184..9b8ecffd 100644
--- a/R/readWQPdata.R
+++ b/R/readWQPdata.R
@@ -93,6 +93,8 @@
 #' startDate <- as.Date("2013-01-01")
 #' nutrientDaneCounty <- readWQPdata(countycode="US:55:025",startDate=startDate,
 #'                         characteristicType="Nutrient")
+#' nutrientDaneCounty <- readWQPdata(countycode="US:55:025",startDate="",
+#'                         characteristicType="Nutrient")
 #' }
 readWQPdata <- function(...){
   
@@ -108,31 +110,7 @@ readWQPdata <- function(...){
     values['bBox'] <- gsub(pattern = ";", replacement = ",", x = values['bBox'])
   }
 
-  dateNames <- c("startDateLo","startDateHi","startDate","endDate")
-
-  if(any(names(values) %in% dateNames)){
-    index <- which(names(values) %in% dateNames)
-    
-    if("" %in% values[index]){
-      values <- values[-index[values[index] == ""]]
-      index <- which(names(values) %in% dateNames)
-    }
-    
-    if(length(index) > 0){
-      # If a valid R date was put in, the format needs to be changed to mm-dd-yyyy for the WQP:
-      if(any(!is.na(as.Date(values[index], format="%Y-%m-%d")))){  
-        dates <- as.Date(values[index[!is.na(as.Date(values[index], format="%Y-%m-%d"))]])
-        dates <- format(as.Date(dates), format="%m-%d-%Y")
-        values[index] <- dates
-      } else if (any(is.na(as.Date(values[index], format="%m-%d-%Y")))){
-        warning("Please check the date format for the arguments: ", paste(names(values)[index], collapse=", "))
-      }
-      
-      names(values)[names(values) == 'startDate'] <- 'startDateLo'
-      names(values)[names(values) == 'endDate'] <- 'startDateHi'
-    }
-    
-  }
+  values <- checkWQPdates(values)
   
   urlCall <- paste(paste(names(values),values,sep="="),collapse="&")
   
diff --git a/R/whatWQPsites.R b/R/whatWQPsites.R
index 70f01708..eb21094e 100644
--- a/R/whatWQPsites.R
+++ b/R/whatWQPsites.R
@@ -69,31 +69,7 @@ whatWQPsites <- function(...){
     values['bBox'] <- gsub(pattern = ";", replacement = ",", x = values['bBox'])
   }
   
-  dateNames <- c("startDateLo","startDateHi","startDate","endDate")
-  
-  if(any(names(values) %in% dateNames)){
-    index <- which(names(values) %in% dateNames)
-    
-    if("" %in% values[index]){
-      values <- values[-index[values[index] == ""]]
-      index <- which(names(values) %in% dateNames)
-    }
-    
-    if(length(index) > 0){
-      # If a valid R date was put in, the format needs to be changed to mm-dd-yyyy for the WQP:
-      if(any(!is.na(as.Date(values[index], format="%Y-%m-%d")))){  
-        dates <- as.Date(values[index[!is.na(as.Date(values[index], format="%Y-%m-%d"))]])
-        dates <- format(as.Date(dates), format="%m-%d-%Y")
-        values[index] <- dates
-      } else if (any(is.na(as.Date(values[index], format="%m-%d-%Y")))){
-        warning("Please check the date format for the arguments: ", paste(names(values)[index], collapse=", "))
-      }
-      
-      names(values)[names(values) == 'startDate'] <- 'startDateLo'
-      names(values)[names(values) == 'endDate'] <- 'startDateHi'
-    }
-    
-  }
+  values <- checkWQPdates(values)
     
   urlCall <- paste(paste(names(values),values,sep="="),collapse="&")
   
diff --git a/man/checkWQPdates.Rd b/man/checkWQPdates.Rd
new file mode 100644
index 00000000..f239655d
--- /dev/null
+++ b/man/checkWQPdates.Rd
@@ -0,0 +1,24 @@
+% Generated by roxygen2 (4.1.0): do not edit by hand
+% Please edit documentation in R/checkWQPdates.r
+\name{checkWQPdates}
+\alias{checkWQPdates}
+\title{Date Check for Water Quality Portal}
+\usage{
+checkWQPdates(values)
+}
+\arguments{
+\item{values}{named list with arguments to send to the Water Quality Portal}
+}
+\value{
+values named list with corrected arguments to send to the Water Quality Portal
+}
+\description{
+Checks date format for inputs to the Water Quality Portal. Used in \code{readWQPqw}
+and \code{readWQPdata}.
+}
+\examples{
+values <- list(startDateLo="01-01-2002", characteristicName="Phosphorous",
+          endDate=as.Date("2014-01-01"))
+values <- checkWQPdates(values)
+}
+
diff --git a/man/readWQPdata.Rd b/man/readWQPdata.Rd
index 3d71d35d..f898a534 100644
--- a/man/readWQPdata.Rd
+++ b/man/readWQPdata.Rd
@@ -102,6 +102,8 @@ pHDataExpanded2 <- readWQPdata(bBox=c(-90.10,42.67,-88.64,43.35),characteristicN
 startDate <- as.Date("2013-01-01")
 nutrientDaneCounty <- readWQPdata(countycode="US:55:025",startDate=startDate,
                         characteristicType="Nutrient")
+nutrientDaneCounty <- readWQPdata(countycode="US:55:025",startDate="",
+                        characteristicType="Nutrient")
 }
 }
 \keyword{WQP}
-- 
GitLab