зеркало из https://github.com/Azure/AzureStor.git
41 строка
925 B
R
41 строка
925 B
R
# azcopy unset/NULL -> not initialized
|
|
# azcopy = NA -> binary not found, or version < 10 (not usable)
|
|
# azcopy = path -> usable
|
|
get_azcopy_path <- function()
|
|
{
|
|
if(exists("azcopy", envir=.AzureStor, inherits=FALSE))
|
|
{
|
|
if(!is.na(.AzureStor$azcopy))
|
|
return(.AzureStor$azcopy)
|
|
else stop("azcopy version 10+ required but not found", call.=FALSE)
|
|
}
|
|
else
|
|
{
|
|
set_azcopy_path()
|
|
Recall()
|
|
}
|
|
}
|
|
|
|
|
|
set_azcopy_path <- function(path="azcopy")
|
|
{
|
|
path <- Sys.which(path)
|
|
if(is.na(path) || path == "")
|
|
{
|
|
.AzureStor$azcopy <- NA
|
|
return(NULL)
|
|
}
|
|
|
|
ver <- suppressWarnings(processx::run(path, "--version"))
|
|
if(!grepl("version 1[[:digit:]]", ver$stdout, ignore.case=TRUE))
|
|
{
|
|
.AzureStor$azcopy <- NA
|
|
return(NULL)
|
|
}
|
|
|
|
.AzureStor$azcopy <- unname(path)
|
|
message("Using azcopy binary ", path)
|
|
invisible(NULL)
|
|
}
|
|
|