annotate ogc_api_processes_wrapper.R @ 0:afede0916f0a draft default tip

planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
author ecology
date Fri, 07 Jun 2024 11:37:33 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
1 library("httr2")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
2 library("jsonlite")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
3 library("getopt")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
4
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
5 cat("start generic wrapper service \n")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
6
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
7 getParameters <- function(){
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
8 con <- file("inputs.json", "r")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
9 lines <- readLines(con)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
10 close(con)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
11
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
12 json_string <- paste(lines, collapse = "\n")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
13 json_data <- fromJSON(json_string)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
14 return(json_data$conditional_process)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
15 }
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
16
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
17 parseResponseBody <- function(body) {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
18 hex <- c(body)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
19 intValues <- as.integer(hex)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
20 rawVector <- as.raw(intValues)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
21 readableOutput <- rawToChar(rawVector)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
22 jsonObject <- jsonlite::fromJSON(readableOutput)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
23 return(jsonObject)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
24 }
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
25
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
26 getOutputs <- function(inputs, output, server) {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
27 url <- paste(paste(server, "/processes/", sep = ""), inputs$select_process, sep = "")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
28 request <- request(url)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
29 response <- req_perform(request)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
30 responseBody <- parseResponseBody(response$body)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
31 outputs <- list()
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
32
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
33 for (x in 1:length(responseBody$outputs)) {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
34 outputformatName <- paste(names(responseBody$outputs[x]), "_outformat", sep="")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
35 output_item <- list()
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
36
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
37 for (p in names(inputs)) {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
38 if(p == outputformatName){
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
39 format <- list("mediaType" = inputs[[outputformatName]])
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
40 output_item$format <- format
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
41 }
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
42 }
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
43 output_item$transmissionMode <- "reference"
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
44 outputs[[x]] <- output_item
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
45 }
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
46
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
47 names(outputs) <- names(responseBody$outputs)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
48 return(outputs)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
49 }
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
50
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
51 executeProcess <- function(url, process, requestBodyData, cookie) {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
52 url <- paste(paste(paste(url, "processes/", sep = ""), process, sep = ""), "/execution", sep = "")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
53 requestBodyData$inputs$cookie <- NULL
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
54 requestBodyData$inputs$select_process <- NULL
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
55
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
56 requestBodyData$inputs$s3_access_key <- requestBodyData$inputs$user_credentials$s3_access_key
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
57 requestBodyData$inputs$s3_secret_key <- requestBodyData$inputs$user_credentials$s3_secret_key
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
58 requestBodyData$inputs$user_credentials <- NULL
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
59
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
60 body <- list()
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
61 body$inputs <- requestBodyData$inputs
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
62 body$mode <- "async"
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
63 body$response <- "document"
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
64
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
65 response <- request(url) %>%
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
66 req_headers(
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
67 "Accept" = "application/json",
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
68 "Content-Type" = "application/json",
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
69 "Cookie" = cookie
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
70 ) %>%
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
71 req_body_json(body) %>%
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
72 req_perform()
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
73
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
74 cat("\n Process executed")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
75 cat("\n status: ", response$status_code)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
76 cat("\n jobID: ", parseResponseBody(response$body)$jobID, "\n")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
77
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
78 jobID <- parseResponseBody(response$body)$jobID
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
79
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
80 return(jobID)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
81 }
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
82
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
83 checkJobStatus <- function(server, process, jobID, cookie) {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
84 url <- paste0(server, "processes/", process, "/jobs/", jobID)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
85 response <- request(url) %>%
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
86 req_headers(
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
87 "Cookie" = cookie
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
88 ) %>%
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
89 req_perform()
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
90 jobStatus <- parseResponseBody(response$body)$status
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
91 jobProgress <- parseResponseBody(response$body)$progress
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
92 return(jobStatus)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
93 }
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
94
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
95 getStatusCode <- function(server, process, jobID, cookie) {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
96 url <- paste0(server, "processes/", process, "/jobs/", jobID)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
97 response <- request(url) %>%
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
98 req_headers(
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
99 "Cookie" = cookie
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
100 ) %>%
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
101 req_perform()
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
102 status_code <- response$status_code
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
103 return(status_code)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
104 }
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
105
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
106 getResult <- function (server, process, jobID, cookie) {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
107 response <- request(paste0(server, "processes/", process, "/jobs/", jobID, "/results")) %>%
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
108 req_headers(
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
109 "Cookie" = cookie
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
110 ) %>%
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
111 req_perform()
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
112 return(response)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
113 }
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
114
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
115 retrieveResults <- function(server, process, jobID, outputData, cookie) {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
116 status_code <- getStatusCode(server, process, jobID, cookie)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
117 if(status_code == 200){
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
118 status <- "running"
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
119 while(status == "running"){
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
120 jobStatus <- checkJobStatus(server, process, jobID, cookie)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
121 print(jobStatus)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
122 if (jobStatus == "succeeded") {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
123 status <- jobStatus
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
124 result <- getResult(server, process, jobID, cookie)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
125 if (result$status_code == 200) {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
126 resultBody <- parseResponseBody(result$body)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
127 urls <- unname(unlist(lapply(resultBody, function(x) x$href)))
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
128 urls_with_newline <- paste(urls, collapse = "\n")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
129 con <- file(outputData, "w")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
130 writeLines(urls_with_newline, con = con)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
131 close(con)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
132 }
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
133 } else if (jobStatus == "failed") {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
134 status <- jobStatus
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
135 }
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
136 Sys.sleep(3)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
137 }
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
138 cat("\n done \n")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
139 } else if (status_code1 == 400) {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
140 print("A query parameter has an invalid value.")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
141 } else if (status_code1 == 404) {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
142 print("The requested URI was not found.")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
143 } else if (status_code1 == 500) {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
144 print("The requested URI was not found.")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
145 } else {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
146 print(paste("HTTP", status_code1, "Error:", resp1$status_message))
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
147 }
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
148 }
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
149
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
150 is_url <- function(x) {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
151 grepl("^https?://", x)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
152 }
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
153
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
154 server <- "https://hirondelle.crim.ca/weaver/"
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
155
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
156 print("--> Retrieve parameters")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
157 inputParameters <- getParameters()
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
158 print("--> Parameters retrieved")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
159
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
160 args <- commandArgs(trailingOnly = TRUE)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
161 outputLocation <- args[2]
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
162
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
163 print("--> Retrieve outputs")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
164 outputs <- getOutputs(inputParameters, outputLocation, server)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
165 print("--> Outputs retrieved")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
166
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
167 print("--> Parse inputs")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
168 convertedKeys <- c()
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
169 for (key in names(inputParameters)) {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
170 if (is.character(inputParameters[[key]]) && (endsWith(inputParameters[[key]], ".dat") || endsWith(inputParameters[[key]], ".txt"))) {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
171 con <- file(inputParameters[[key]], "r")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
172 url_list <- list()
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
173 #while (length(line <- readLines(con, n = 1)) > 0) {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
174 # if (is_url(line)) {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
175 # url_list <- c(url_list, list(list(href = trimws(line))))
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
176 # }
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
177 #}
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
178 con <- file(inputParameters[[key]], "r")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
179 lines <- readLines(con)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
180 close(con)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
181 json_string <- paste(lines, collapse = "\n")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
182 json_data <- fromJSON(json_string)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
183
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
184 inputParameters[[key]] <- json_data
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
185 convertedKeys <- append(convertedKeys, key)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
186 }
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
187 else if (grepl("_Array_", key)) {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
188 keyParts <- strsplit(key, split = "_")[[1]]
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
189 type <- keyParts[length(keyParts)]
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
190 values <- inputParameters[[key]]
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
191 value_list <- strsplit(values, split = ",")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
192
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
193 convertedValues <- c()
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
194
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
195 for (value in value_list) {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
196 if(type == "integer") {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
197 value <- as.integer(value)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
198 } else if (type == "numeric") {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
199 value <- as.numeric(balue)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
200 } else if (type == "character") {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
201 value <- as.character(value)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
202 }
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
203 convertedValues <- append(convertedValues, value)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
204
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
205 convertedKey <- ""
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
206 for (part in keyParts) {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
207 if(part == "Array") {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
208 break
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
209 }
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
210 convertedKey <- paste(convertedKey, paste(part, "_", sep=""), sep="")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
211 }
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
212 convertedKey <- substr(convertedKey, 1, nchar(convertedKey)-1)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
213 }
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
214
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
215 inputParameters[[key]] <- convertedValues
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
216 convertedKeys <- append(convertedKeys, convertedKey)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
217 } else {
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
218 convertedKeys <- append(convertedKeys, key)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
219 }
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
220 }
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
221
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
222 names(inputParameters) <- convertedKeys
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
223 print("--> Inputs parsed")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
224
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
225 print("--> Prepare process execution")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
226 jsonData <- list(
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
227 "inputs" = inputParameters,
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
228 "outputs" = outputs
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
229 )
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
230
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
231 cookie <- inputParameters$cookie
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
232
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
233 print("--> Execute process")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
234 jobID <- executeProcess(server, inputParameters$select_process, jsonData, cookie)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
235 print("--> Process executed")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
236
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
237 print("--> Retrieve results")
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
238 retrieveResults(server, inputParameters$select_process, jobID, outputLocation, cookie)
afede0916f0a planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/ogc_api_processes_wrapper commit 89c188931ba43399013ebc741bc14365e53d418a
ecology
parents:
diff changeset
239 print("--> Results retrieved")