diff --git a/R/formatCheckParameterCd.r b/R/formatCheckParameterCd.r index 550f012ead20db82e68f16ede3d1538a24d3b19b..b799605e57801457a6112506f37ff00a62d89f3f 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)