tilfluktsrom/scripts/fetch-shelters.sh

39 lines
1.2 KiB
Bash
Raw Permalink Normal View History

#!/usr/bin/env bash
# Downloads shelter data from Geonorge, converts UTM33N → WGS84 via the PWA
# script, and copies the result to both Android assets and PWA public dirs.
#
# Usage: ./scripts/fetch-shelters.sh
# Requires: bun (or node + tsx)
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
PWA_SCRIPT="$PROJECT_ROOT/pwa/scripts/fetch-shelters.ts"
PWA_OUTPUT="$PROJECT_ROOT/pwa/public/data/shelters.json"
ANDROID_ASSETS="$PROJECT_ROOT/app/src/main/assets"
ANDROID_OUTPUT="$ANDROID_ASSETS/shelters.json"
# Ensure output dirs exist
mkdir -p "$(dirname "$PWA_OUTPUT")"
mkdir -p "$ANDROID_ASSETS"
echo "==> Fetching shelter data from Geonorge..."
# Run the PWA conversion script (download ZIP, convert UTM→WGS84, output JSON)
bun run "$PROJECT_ROOT/pwa/scripts/fetch-shelters.ts"
if [ ! -f "$PWA_OUTPUT" ]; then
echo "ERROR: PWA script did not produce $PWA_OUTPUT"
exit 1
fi
SHELTER_COUNT=$(python3 -c "import json; print(len(json.load(open('$PWA_OUTPUT'))))" 2>/dev/null || echo "?")
echo "==> Generated $SHELTER_COUNT shelters"
# Copy to Android assets
cp "$PWA_OUTPUT" "$ANDROID_OUTPUT"
echo "==> Copied to $ANDROID_OUTPUT"
echo "==> Done. Shelter data ready for both platforms."