@@ -19,8 +19,9 @@ dvQuery <- function(verb, query = NULL, dv = "https://dvn.iq.harvard.edu/dvn/",
19
19
browseURL(url )
20
20
else {
21
21
xml <- getURL(url , followlocation = TRUE ,
22
- ssl.verifypeer = TRUE , ssl.verifyhost = TRUE ,
23
- cainfo = system.file(" CurlSSL" , " cacert.pem" , package = " RCurl" ))
22
+ # ssl.verifypeer = TRUE, ssl.verifyhost = TRUE,
23
+ ssl.verifypeer = FALSE , ssl.verifyhost = FALSE )
24
+ # cainfo = system.file("CurlSSL", "cacert.pem", package = "RCurl"))
24
25
return (xml )
25
26
}
26
27
}
@@ -29,6 +30,8 @@ dvQuery <- function(verb, query = NULL, dv = "https://dvn.iq.harvard.edu/dvn/",
29
30
30
31
dvSearchFields <- function (dv = " https://dvn.iq.harvard.edu/dvn/" , browser = FALSE ){
31
32
xml <- dvQuery(verb = " metadataSearchFields" , query = NULL , dv = dv , browser = browser )
33
+ if (is.null(xml ))
34
+ invisible (NULL )
32
35
if (browser == FALSE ){
33
36
searchterms <- xpathApply(xmlParse(xml )," //SearchableField" )
34
37
d <- data.frame (matrix (nrow = length(searchterms ),ncol = 2 ))
@@ -61,6 +64,8 @@ dvSearch <- function(query, dv = "https://dvn.iq.harvard.edu/dvn/", browser=FALS
61
64
stop(" Must specify query as named list or character string" )
62
65
}
63
66
xml <- dvQuery(verb = " metadataSearch" , query = query , dv = dv , browser = browser )
67
+ if (is.null(xml ))
68
+ invisible (NULL )
64
69
if (browser == FALSE ){
65
70
results <- xpathApply(xmlParse(xml )," //study" )
66
71
d <- data.frame (matrix (nrow = length(results ),ncol = 1 ))
@@ -74,6 +79,8 @@ dvSearch <- function(query, dv = "https://dvn.iq.harvard.edu/dvn/", browser=FALS
74
79
75
80
dvMetadataFormats <- function (objectid , dv = " https://dvn.iq.harvard.edu/dvn/" , browser = FALSE ){
76
81
xml <- dvQuery(verb = " metadataFormatsAvailable" , query = objectid , dv = dv , browser = browser )
82
+ if (is.null(xml ))
83
+ invisible (NULL )
77
84
if (browser == FALSE ){
78
85
searchterms <- xpathApply(xmlParse(xml )," //formatAvailable" )
79
86
if (length(searchterms )> 0 ){
@@ -108,6 +115,8 @@ dvMetadata <- function(objectid, format.type=NULL, include=NULL, exclude=NULL,
108
115
query <- paste(query ," &partialExclude=" ,exclude ,sep = " " )
109
116
}
110
117
xml <- dvQuery(verb = " metadata" , query = query , dv = dv , browser = browser )
118
+ if (is.null(xml ))
119
+ invisible (NULL )
111
120
if (browser == FALSE )
112
121
return (xml )
113
122
}
@@ -134,6 +143,8 @@ dvDownloadInfo <- function(fileid, dv = "https://dvn.iq.harvard.edu/dvn/", brows
134
143
if (is.null(fileid ))
135
144
stop(" Must specify fileId" )
136
145
xml <- dvQuery(verb = " downloadInfo" , query = fileid , dv = dv , browser = browser )
146
+ if (is.null(xml ))
147
+ invisible (NULL )
137
148
if (browser == FALSE ){
138
149
details <- list ()
139
150
services <- xpathApply(xmlParse(xml )," //accessService" )
@@ -171,8 +182,10 @@ dvDownload <- function(fileid, query=NULL, dv = "https://dvn.iq.harvard.edu/dvn/
171
182
if (is.null(fileid ))
172
183
stop(" Must specify fileId" )
173
184
direct <- dvDownloadInfo(fileid )
185
+ if (is.null(direct ))
186
+ stop(" downloadInfo unavailable" )
174
187
if (direct $ directAccess == " false" )
175
- stop(" Data cannot be accessed directly ( " , direct $ accessRestrictions , " ) ...try using URI from dvExtractFileIds(dvMetadata())" )
188
+ stop(direct $ accessRestrictions , " \n Data cannot be accessed directly...try using URI from dvExtractFileIds(dvMetadata())" )
176
189
if (is.null(query )){
177
190
xml <- dvQuery(verb = " download" , query = fileid , dv = dv , browser = browser )
178
191
return (xml )
0 commit comments