From 77d59160a59a15d8f20548dccae67d4603f1747d Mon Sep 17 00:00:00 2001
From: Laura DeCicco <ldecicco@usgs.gov>
Date: Wed, 23 Jan 2013 14:32:01 -0600
Subject: [PATCH] Added a padVariable function to pad "0"'s to any parameter
 codes inputed with less than 5 digits.

---
 R/formatCheckParameterCd.r | 20 ++++++++++++++++++--
 1 file changed, 18 insertions(+), 2 deletions(-)

diff --git a/R/formatCheckParameterCd.r b/R/formatCheckParameterCd.r
index 550f012e..b799605e 100644
--- a/R/formatCheckParameterCd.r
+++ b/R/formatCheckParameterCd.r
@@ -1,13 +1,29 @@
 formatCheckParameterCd <- function(ParameterCd, interactive=TRUE){     #checks for a 5 digit number
-  if (nchar(ParameterCd) != 5){
+  if (nchar(ParameterCd) < 5){
+    
+    padVariable <- function(x,padTo){
+      numDigits <- nchar(x)
+      if (padTo != numDigits){
+        leadingZeros <- paste(rep("0",(padTo-numDigits)),collapse="",sep="")
+        x <- paste(leadingZeros,x,sep="")
+      }
+      return(x)
+    }
+    
     if (interactive){
       cat("Most USGS parameter codes are 5 digits long, you entered a ", nchar(ParameterCd), "digit number = ", ParameterCd , ".\n")
+      
+      ParameterCd <- padVariable(ParameterCd,5)
+      cat("The following parameter code will be used instead:",ParameterCd,"\n")
       cat("If you would like to change the parameter code, enter it here (no quotes), otherwise hit return:\n")
       tempParameterCd <- readline()
       if (nzchar(tempParameterCd)) ParameterCd <- tempParameterCd
     } else {
-      warningMessage <- paste("Most USGS parameter codes are 5 digits long, you entered ", ParameterCd , ".", sep="")
+      tempText <- padVariable(ParameterCd,5)
+      warningMessage <- paste("Most USGS parameter codes are 5 digits long, you entered ", 
+                              ParameterCd , ".\n",tempText," will be used instead", sep="")
       warning(warningMessage)
+      ParameterCd <- padVariable(ParameterCd,5)
     }
   }
   return(ParameterCd)
-- 
GitLab