On Jul 21, 2010, at 5:33 PM, AndrewPage wrote:
Hi all,
I'm currently working on an R program where I have to access an FTP
server
to download some of the data I need. However, the people who post
up the
files I access are at times inconsistent with regards to time
posted, if
they post at all, etc.... Here's some of the code I use:
library(RCurl)
url1 = paste("ftp://user:passw...@a.great.website.com/", "file", num1,
".csv", sep = "")
data1 = getURL(url1)
write(data1, file = paste("inMyFolder", num1, ".csv", sep = ""))
Sometimes this process works perfectly, and sometimes I get an error
message
like this attached to "data1 = getURL(url1)":
Error in curlPerform(curl = curl, .opts = opts, .encoding
= .encoding) :
RETR response: 550
That's because that particular file isn't on the FTP server yet.
Now...
let's just imagine that there's another way for me to access the file
elsewhere, and I can drag it into the working directory with the
same name
as the file I'm telling R to write immediately after finding it on
the FTP
server.
So here's my question: is it possible to write a command that will
write the
file if there isn't an error message going along with "data1 =
getURL(url1)", but won't write the file if it can't find it????
?try
Untested in absence of workable example...
Return <- try(getURL(url1), silent=TRUE) # silent keeps error from
showing up on console
if(grep("550", Return[1]) { # not sure about exact structure of error
message
# but could do nothing
} else { # assign data
data1 <- Return
if(("550", Return[1]) { # go to the other site
Return2 <- try( getURL(url2), silent =TRUE ) # and so on
As of right
now, if I got the error message, dragged the file into the working
directory
and ran the program again, R will overwrite my good file with an
empty one
because in all cases, I'm telling it to write a file with that name
that
includes the information in "data1".
Thanks in advance,
Search help archives for try examples or perhaps try-error or tryCatch
which might be more specific.
Andrew
--
--
David Winsemius, MD
West Hartford, CT
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.