Mercurial > repos > ecology > otb_band_math
annotate OTB_BandMath.R @ 1:d266345e510d draft default tip
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit bdeb782599ab8ec92de67e81ad092defe9edd56e
author | ecology |
---|---|
date | Wed, 10 Apr 2024 16:54:49 +0000 |
parents | 0ed34e3202b9 |
children |
rev | line source |
---|---|
0
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
1 #Run with Rscript ./OTB_BandMath.R --file otb_band_math_test_input.txt --processingMemory 256 --mathExpression im1b3,im1b2,im1b1 --outputType png --outputFormat download --outputImage float --outputData otb_band_math_test_output.png |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
2 |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
3 library("httr2") |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
4 library("jsonlite") |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
5 library("getopt") |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
6 |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
7 args <- commandArgs(trailingOnly = TRUE) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
8 option_specification <- matrix(c( |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
9 'file', 'i1', 1, 'character', |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
10 'processingMemory', 'i2', 2, 'integer', |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
11 'mathExpression', 'i3', 2, 'character', |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
12 'outputType', 'i4', 2, 'character', |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
13 'outputFormat', 'i5', 1, 'character', |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
14 'outputImage', 'i6', 1, 'character', |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
15 'outputData', 'o', 1, 'character' |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
16 ), byrow = TRUE, ncol = 4) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
17 options <- getopt(option_specification) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
18 |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
19 file <- options$file |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
20 processingMemory <- options$processingMemory |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
21 mathExpression <-options$mathExpression |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
22 outputType <- paste0("image/", options$outputType) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
23 outputFormat <- options$outputFormat |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
24 outputImage <- options$outputImage |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
25 outputData <- options$outputData |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
26 |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
27 cat("\n file: ", file) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
28 cat("\n ram: ", processingMemory) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
29 cat("\n exp: ", mathExpression) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
30 cat("\n outputType: ", outputType) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
31 cat("\n outputFormat: ", outputFormat) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
32 cat("\n outputImage: ", outputImage) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
33 |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
34 baseUrl <- "https://ospd.geolabs.fr:8300/ogc-api/" |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
35 execute <- "processes/OTB.BandMath/execution" |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
36 getStatus <- "jobs/" |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
37 getResult <- "/results" |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
38 |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
39 file_urls <- readLines(file, warn = FALSE) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
40 |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
41 il_list <- lapply(file_urls, function(url) { |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
42 list("href" = url) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
43 }) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
44 |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
45 json_data <- list( |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
46 "inputs" = list( |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
47 "il" = il_list, |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
48 "out" = outputImage, |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
49 "exp" = mathExpression, |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
50 "ram" = processingMemory |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
51 ), |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
52 "outputs" = list( |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
53 "out" = list( |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
54 "format" = list( |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
55 "mediaType" = outputType |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
56 ), |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
57 "transmissionMode" = "reference" |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
58 ) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
59 ) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
60 ) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
61 |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
62 makeResponseBodyReadable <- function(body) { |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
63 hex <- c(body) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
64 int_values <- as.integer(hex) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
65 raw_vector <- as.raw(int_values) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
66 readable_output <- rawToChar(raw_vector) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
67 json_object <- jsonlite::fromJSON(readable_output) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
68 return(json_object) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
69 } |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
70 |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
71 tryCatch({ |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
72 #Request 1 |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
73 resp1 <- request(paste0(baseUrl, execute)) %>% |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
74 req_headers( |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
75 'accept' = '/*', |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
76 'Prefer' = 'respond-async;return=representation', |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
77 'Content-Type' = 'application/json' |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
78 ) %>% |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
79 req_body_json(json_data) %>% |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
80 req_perform() |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
81 |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
82 response <- makeResponseBodyReadable(resp1$body) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
83 status_code1 <- resp1$status_code |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
84 |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
85 if (status_code1 == 201) { |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
86 status <- "running" |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
87 attempt = 1 |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
88 while (status == "running") { |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
89 #Request 2 |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
90 #cat("\n",response$jobID) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
91 resp2 <- request(paste0(baseUrl,getStatus,response$jobID)) %>% |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
92 req_headers( |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
93 'accept' = 'application/json' |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
94 ) %>% |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
95 req_perform() |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
96 status_code2 <- resp2$status_code |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
97 #cat("\n", status_code2) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
98 if (status_code2 == 200) { |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
99 response2 <- makeResponseBodyReadable(resp2$body) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
100 cat("\n", response2$status) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
101 if (response2$status=="successful") { |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
102 status <- "successful" |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
103 #Request 3 |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
104 resp3 <- request(paste0(baseUrl,getStatus, response2$jobID, getResult)) %>% |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
105 req_headers( |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
106 'accept' = 'application/json' |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
107 ) %>% |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
108 req_perform() |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
109 status_code3 <- resp3$status_code |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
110 if (status_code3 == 200) { |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
111 response3 <- makeResponseBodyReadable(resp3$body) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
112 if (outputFormat == "download") { |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
113 options(timeout=300) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
114 download.file(response3$out$href, destfile = outputData, mode = "wb") |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
115 } else if (outputFormat == "getUrl") { |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
116 writeLines(response3$out$href, con = outputData) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
117 } |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
118 } else if (status_code3 == 404) { |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
119 print("The requested URI was not found.") |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
120 } else if (status_code3 == 500) { |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
121 print("A server error occurred.") |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
122 } else { |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
123 print(paste("HTTP", status_code3, "Error:", resp3$status_message)) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
124 } |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
125 } else if (response2$status=="failed") { |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
126 status <- "failed" |
1
d266345e510d
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit bdeb782599ab8ec92de67e81ad092defe9edd56e
ecology
parents:
0
diff
changeset
|
127 message("An error occurred. For further details, check OGC Job status through https://ospd.geolabs.fr:8300/ogc-api/jobs/", response2$jobID) |
d266345e510d
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit bdeb782599ab8ec92de67e81ad092defe9edd56e
ecology
parents:
0
diff
changeset
|
128 q(status = 1) |
d266345e510d
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit bdeb782599ab8ec92de67e81ad092defe9edd56e
ecology
parents:
0
diff
changeset
|
129 } |
0
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
130 } else { |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
131 status <- "failed" |
1
d266345e510d
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit bdeb782599ab8ec92de67e81ad092defe9edd56e
ecology
parents:
0
diff
changeset
|
132 print(paste("HTTP", status_code2, "Error:", resp2$status_message, "An error occurred. For further details, check OGC Job status through https://ospd.geolabs.fr:8300/ogc-api/jobs/", response2$jobID)) |
d266345e510d
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit bdeb782599ab8ec92de67e81ad092defe9edd56e
ecology
parents:
0
diff
changeset
|
133 q(status = 1) |
0
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
134 } |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
135 Sys.sleep(3) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
136 } |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
137 print(status) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
138 } else if (status_code1 == 400) { |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
139 print("A query parameter has an invalid value.") |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
140 } else if (status_code1 == 404) { |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
141 print("The requested URI was not found.") |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
142 } else if (status_code1 == 500) { |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
143 print("The requested URI was not found.") |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
144 } else { |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
145 print(paste("HTTP", status_code1, "Error:", resp1$status_message)) |
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
146 } |
1
d266345e510d
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit bdeb782599ab8ec92de67e81ad092defe9edd56e
ecology
parents:
0
diff
changeset
|
147 }, error = function(e) { |
d266345e510d
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit bdeb782599ab8ec92de67e81ad092defe9edd56e
ecology
parents:
0
diff
changeset
|
148 message("An error occurred:", e) |
d266345e510d
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit bdeb782599ab8ec92de67e81ad092defe9edd56e
ecology
parents:
0
diff
changeset
|
149 # Exit with code 1 |
d266345e510d
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit bdeb782599ab8ec92de67e81ad092defe9edd56e
ecology
parents:
0
diff
changeset
|
150 q(status = 1) |
0
0ed34e3202b9
planemo upload for repository https://github.com/galaxyecology/tools-ecology/tree/master/tools/OtbBandMath commit d85a00bfd9f603fd25ad0fc93736d0b1e395fe25
ecology
parents:
diff
changeset
|
151 }) |