4in1_tools/iiif/folger.sh
2024-07-25 02:58:08 +03:00

70 lines
1.2 KiB
Bash
Executable File

#!/bin/sh
set -e
#set -x
usage() {
echo "usage: $0 --output-dir|-o <output-directory> [--format|-f jpg|tif] <IIIF-manifest-URL>"
exit 1
}
output_dir=
url=
format=jpg
while [ "$#" -gt 0 ]; do
case $1 in
--output-dir|-o)
output_dir="$2"
shift
;;
--format|-f)
format="$2"
shift
;;
*)
url="$1"
;;
esac
shift
done
if [ -z "$output_dir" ] || [ -z "$url" ]; then
usage
fi
if [ -d "$output_dir" ]; then
echo -n "The directory '$output_dir' already exists. Do you want to delete/recreate it (d) or skip and go on (s)? "
read response
case $response in
[dD])
rm -rf "$output_dir"
mkdir -p "$output_dir"
;;
[sS])
;;
*)
2>&1 echo "error: invalid option"
exit 1
;;
esac
else
mkdir -p "$output_dir"
fi
image_urls=$(curl -s "$url" | jq -r ".sequences[].canvases[].images[].resource.\"@id\"")
counter=1
for image_url in $image_urls; do
image_name=$(basename "$image_url")
filename=$(printf "$output_dir/%04d.$format" $counter)
if [ "$format" = "tif" ]; then
base="${image_url%.jpg}"
iamge_url="${image_url}.tif"
fi
curl -sSL "$image_url" -o "$filename"
counter=$((counter + 1))
echo "$(basename "$filename") saved"
done
cleanup