Spaces:
Sleeping
Sleeping
Create model_download.sh
Browse files- model_download.sh +34 -0
model_download.sh
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/usr/bin/env bash
|
| 2 |
+
set -euo pipefail
|
| 3 |
+
|
| 4 |
+
MODELS_DIR="${MODELS_DIR:-/grpc-models}"
|
| 5 |
+
URLS="${MODEL_URLS:-}"
|
| 6 |
+
|
| 7 |
+
# Accept comma/newline/space separated URLs
|
| 8 |
+
if [[ -z "$URLS" ]]; then
|
| 9 |
+
echo "[models] No MODEL_URLS provided. Skipping downloads."
|
| 10 |
+
exit 0
|
| 11 |
+
fi
|
| 12 |
+
|
| 13 |
+
mkdir -p "$MODELS_DIR"
|
| 14 |
+
echo "$URLS" | tr ', ' '\n' | while read -r URL; do
|
| 15 |
+
[[ -z "$URL" ]] && continue
|
| 16 |
+
echo "[models] Fetching: $URL"
|
| 17 |
+
# Keep the original filename if possible
|
| 18 |
+
FNAME="$(basename "$URL")"
|
| 19 |
+
TMP="/tmp/${FNAME}.part"
|
| 20 |
+
|
| 21 |
+
# Basic download (supports HTTP(S))
|
| 22 |
+
curl -L --fail --retry 3 -o "$TMP" "$URL"
|
| 23 |
+
# Move into MODELS_DIR after successful download
|
| 24 |
+
mv "$TMP" "${MODELS_DIR}/${FNAME}"
|
| 25 |
+
|
| 26 |
+
# Optional: auto-extract archives
|
| 27 |
+
case "$FNAME" in
|
| 28 |
+
*.zip) echo "[models] Unzipping $FNAME"; unzip -o "${MODELS_DIR}/${FNAME}" -d "${MODELS_DIR}" ;;
|
| 29 |
+
*.tar.gz|*.tgz) echo "[models] Untarring $FNAME"; tar -xzf "${MODELS_DIR}/${FNAME}" -C "${MODELS_DIR}" ;;
|
| 30 |
+
*.xz) echo "[models] Unxz $FNAME"; xz -d -k "${MODELS_DIR}/${FNAME}" ;;
|
| 31 |
+
esac
|
| 32 |
+
done
|
| 33 |
+
|
| 34 |
+
echo "[models] Done."
|