46 lines
1.0 KiB
Bash
46 lines
1.0 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
BIN_PATH="${WORKER_REALESRGAN_BIN:-${ROOT_DIR}/bin/realesrgan-ncnn-vulkan}"
|
|
MODEL_DIR="${WORKER_REALESRGAN_MODEL_DIR:-${ROOT_DIR}/models}"
|
|
|
|
echo "Binary path: ${BIN_PATH}"
|
|
echo "Model dir: ${MODEL_DIR}"
|
|
|
|
if [[ ! -f "${BIN_PATH}" ]]; then
|
|
echo "binary missing"
|
|
exit 1
|
|
fi
|
|
|
|
if [[ ! -x "${BIN_PATH}" ]]; then
|
|
echo "binary exists but is not executable"
|
|
exit 1
|
|
fi
|
|
|
|
if [[ ! -d "${MODEL_DIR}" ]]; then
|
|
echo "model directory missing"
|
|
exit 1
|
|
fi
|
|
|
|
echo "binary exists"
|
|
echo "binary executable"
|
|
|
|
available_models=()
|
|
while IFS= read -r param_file; do
|
|
stem="$(basename "${param_file}" .param)"
|
|
if [[ -f "${MODEL_DIR}/${stem}.bin" ]]; then
|
|
available_models+=("${stem}")
|
|
fi
|
|
done < <(find "${MODEL_DIR}" -maxdepth 1 -type f -name '*.param' | sort)
|
|
|
|
if [[ ${#available_models[@]} -eq 0 ]]; then
|
|
echo "no models found"
|
|
else
|
|
echo "models listed"
|
|
for model in "${available_models[@]}"; do
|
|
echo " - ${model}"
|
|
done
|
|
fi
|
|
|
|
"${BIN_PATH}" -h >/dev/null 2>&1 || true |