Mercurial > repos > prog > lcmsmatching
comparison RemotedbConn.R @ 1:45e985cd8e9e draft
planemo upload for repository https://github.com/workflow4metabolomics/lcmsmatching.git commit d4048accde6bdfd5b3e14f5394902d38991854f8-dirty
| author | prog |
|---|---|
| date | Tue, 31 Jan 2017 05:27:24 -0500 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 0:3afe41d3e9e7 | 1:45e985cd8e9e |
|---|---|
| 1 if ( ! exists('RemotedbConn')) { | |
| 2 | |
| 3 ##################### | |
| 4 # CLASS DECLARATION # | |
| 5 ##################### | |
| 6 | |
| 7 RemotedbConn <- methods::setRefClass("RemotedbConn", contains = "BiodbConn", fields = list(.scheduler = "UrlRequestScheduler", .token = "character")) | |
| 8 | |
| 9 ############### | |
| 10 # CONSTRUCTOR # | |
| 11 ############### | |
| 12 | |
| 13 RemotedbConn$methods( initialize = function(useragent = NA_character_, scheduler = NULL, token = NA_character_, ...) { | |
| 14 | |
| 15 # Check useragent | |
| 16 ( ! is.null(useragent) && ! is.na(useragent)) || stop("You must specify a valid useragent string (e.g.: \"myapp ; my.email@address\").") | |
| 17 | |
| 18 # Set token | |
| 19 .token <<- token | |
| 20 | |
| 21 # Set scheduler | |
| 22 if (is.null(scheduler)) | |
| 23 scheduler <- UrlRequestScheduler$new(n = 3) | |
| 24 inherits(scheduler, "UrlRequestScheduler") || stop("The scheduler instance must inherit from UrlRequestScheduler class.") | |
| 25 scheduler$setUserAgent(useragent) # set agent | |
| 26 .scheduler <<- scheduler | |
| 27 | |
| 28 callSuper(...) # calls super-class initializer with remaining parameters | |
| 29 }) | |
| 30 | |
| 31 ########### | |
| 32 # GET URL # | |
| 33 ########### | |
| 34 | |
| 35 RemotedbConn$methods( .get.url = function(url) { | |
| 36 .self$.print.debug.msg(paste0("Sending URL request '", url, "'...")) | |
| 37 return(.self$.scheduler$getUrl(url)) | |
| 38 }) | |
| 39 | |
| 40 ########### | |
| 41 # GET URL # | |
| 42 ########### | |
| 43 | |
| 44 RemotedbConn$methods( .set.useragent = function(useragent) { | |
| 45 .scheduler$setUserAgent(useragent) # set agent | |
| 46 }) | |
| 47 | |
| 48 } |
