diff --git a/scripts/larvatagger.sh b/scripts/larvatagger.sh index 1156bf286f39d80bad05b9c373aa119b5a009c4c..f3921852dbb230e0bd94e4ac7947187c8de4240f 100755 --- a/scripts/larvatagger.sh +++ b/scripts/larvatagger.sh @@ -204,8 +204,14 @@ eval $DOCKER_RUN predict) +if [ "$(basename "$(dirname "$1")")" = "**" ]; then +parentdir=$(cd "$(dirname "$(dirname "$1")")"; pwd -P) +data_file=$(basename "$(dirname "$1")")/$(basename "$1") +else parentdir=$(cd "$(dirname "$1")"; pwd -P) -data_file=$(basename "$1"); shift +data_file=$(basename "$1") +fi +shift RUN_ARGS="$RUN_ARGS -v \"$parentdir\":/data" diff --git a/src/cli_toolkit.jl b/src/cli_toolkit.jl index 371d4a44047ef962d056504d6820deacfa061f54..82a00be34159ba3519c59d0131a40f663ff5c5b0 100644 --- a/src/cli_toolkit.jl +++ b/src/cli_toolkit.jl @@ -3,7 +3,7 @@ module Toolkit using DocOpt using Pkg using OrderedCollections -using PlanarLarvae, PlanarLarvae.Datasets, PlanarLarvae.Formats +using PlanarLarvae, PlanarLarvae.Datasets, PlanarLarvae.Formats, PlanarLarvae.Dataloaders include("Taggers.jl") using .Taggers @@ -191,10 +191,14 @@ function main(args=ARGS; exit_on_error=true) if endswith(datapath, ".txt") # assume that the file lists paths to data files to be processed; # in this case, the path to the txt file is not relevant + @info "The listed data file paths are expected to be relative to current directory" cwd=pwd() pwd() else dirname(datapath) end + elseif occursin("*", datapath) + repository = Dataloaders.Repository(datapath) + repository.root else datapath end