⬆ Update qurator_data_lib.sh (Fixes GH-5)

pull/27/head
Gerber, Mike 5 years ago
parent c92b10b984
commit 2f10596d28

@ -1,3 +1,14 @@
# ______________________________________
#/ always copy the file from \
#| mono-repo/qurator_data_lib.sh, never |
#\ edit the copy in the project /
# --------------------------------------
# \ ^__^
# \ (oo)\_______
# (__)\ )\/\
# ||----w |
# || ||
if [ -z "$BASH" ]; then
echo "qurator_data_lib.sh uses bash features, please make sure to run $0 in bash"
exit 1
@ -23,14 +34,31 @@ check_data_subdir() {
}
annex_get() {
if [[ "$1" = '--allow_symlinks' ]]; then
allow_symlinks=1
shift
else
allow_symlinks=0
fi
file_pattern="$1"
(
cd $DATA_SUBDIR
git annex get $file_pattern
# fsck seems to be necessary to fix the files if we're in a submodule
# fsck seems to be necessary to fix the files if we are in a submodule
git annex fsck $file_pattern
# Check that there are no symlinks = only unlocked files. This is needed for
# Docker builds, as we cannot dereference symlinks in a Dockerfile COPY.
if [[ $allow_symlinks = 0 ]]; then
git ls-files $file_pattern | while read f; do
if ! [[ -f "$f" ]]; then
echo "$DATA_SUBDIR/$f is not a regular file Is an unlock needed?"
exit
fi
done
fi
)
}
@ -58,18 +86,34 @@ suggest_commands() {
}
handle_data() {
if [[ "$1" = '--no-download' ]]; then
no_download=1
shift
else
no_download=0
fi
if [ -n "$FORCE_DOWNLOAD" ]; then
get_from_web
elif ! check_data_subdir; then
select choice in "Abort to manually fix $DATA_SUBDIR submodule" "Download data files from the web"; do
if [ $REPLY = 1 ]; then
suggest_commands
exit
else
get_from_web
break
fi
done
if [[ $no_download = 1 ]]; then
select choice in "Abort to manually fix $DATA_SUBDIR submodule"; do
if [ $REPLY = 1 ]; then
suggest_commands
exit
fi
done
else
select choice in "Abort to manually fix $DATA_SUBDIR submodule" "Download data files from the web"; do
if [ $REPLY = 1 ]; then
suggest_commands
exit
else
get_from_web
break
fi
done
fi
else
get_from_annex
fi

Loading…
Cancel
Save