From 0536d13e0b3919a72802a3b5aa398e94d7074ba8 Mon Sep 17 00:00:00 2001 From: Zach Fogelson Date: Mon, 6 Mar 2017 01:00:07 -0600 Subject: [PATCH 1/2] Added limit and offset as param, somewhat redundant but wanted to contribute something --- R/RSocrata.R | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/R/RSocrata.R b/R/RSocrata.R index 35f87e0..4c56c5c 100644 --- a/R/RSocrata.R +++ b/R/RSocrata.R @@ -265,7 +265,7 @@ getSodaTypes <- function(response) { #' @importFrom plyr rbind.fill #' @export read.socrata <- function(url, app_token = NULL, email = NULL, password = NULL, - stringsAsFactors = FALSE) { + stringsAsFactors = FALSE, limit = NULL, offset = NULL) { validUrl <- validateUrl(url, app_token) # check url syntax, allow human-readable Socrata url parsedUrl <- httr::parse_url(validUrl) mimeType <- mime::guess_type(parsedUrl$path) @@ -279,6 +279,14 @@ read.socrata <- function(url, app_token = NULL, email = NULL, password = NULL, validUrl <- paste(validUrl, {'?'}, '$order=:id', sep='') parsedUrl <- httr::parse_url(validUrl) # reparse because URL now has a query } + if(!is.null(limit)){ + validUrl <- paste(validUrl, '&', sprintf('$limit=%s',limit) , sep='') + parsedUrl <- httr::parse_url(validUrl) # reparse because URL now has a query + } + if(!is.null(offset)){ + validUrl <- paste(validUrl, '&', sprintf('$offset=%s',limit) , sep='') + parsedUrl <- httr::parse_url(validUrl) # reparse because URL now has a query + } if(!(mimeType %in% c('text/csv','application/json'))) stop("Error in read.socrata: ", mimeType, " not a supported data format.") response <- getResponse(validUrl, email, password) From c653217ed4fd37cdbb527dc442b50be06d2f87bb Mon Sep 17 00:00:00 2001 From: Zach Fogelson Date: Mon, 6 Mar 2017 01:05:06 -0600 Subject: [PATCH 2/2] corrected offset --- R/RSocrata.R | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/R/RSocrata.R b/R/RSocrata.R index 4c56c5c..9e45372 100644 --- a/R/RSocrata.R +++ b/R/RSocrata.R @@ -284,7 +284,7 @@ read.socrata <- function(url, app_token = NULL, email = NULL, password = NULL, parsedUrl <- httr::parse_url(validUrl) # reparse because URL now has a query } if(!is.null(offset)){ - validUrl <- paste(validUrl, '&', sprintf('$offset=%s',limit) , sep='') + validUrl <- paste(validUrl, '&', sprintf('$offset=%s',offset) , sep='') parsedUrl <- httr::parse_url(validUrl) # reparse because URL now has a query } if(!(mimeType %in% c('text/csv','application/json')))