#!/usr/bin/env bash set -euo pipefail WORKSPACE="kemals-workspace-kbc8l" PROJECT="electric-meter-detection-o4tfi" VERSION="1" FORMAT="yolov8" DATASET_DIR="examples/meter-detection/data/electric-meter-detection" if [[ -z "${ROBOFLOW_API_KEY:-}" ]]; then echo "ROBOFLOW_API_KEY is required." >&2 echo "Run: export ROBOFLOW_API_KEY=your-roboflow-api-key" >&2 exit 1 fi if ! command -v curl >/dev/null 2>&1; then echo "curl is required." >&2 exit 1 fi if ! command -v unzip >/dev/null 2>&1; then echo "unzip is required." >&2 exit 1 fi TMP_DIR="$(mktemp -d)" trap 'rm -rf "${TMP_DIR}"' EXIT API_URL="https://api.roboflow.com/${WORKSPACE}/${PROJECT}/${VERSION}/${FORMAT}?api_key=${ROBOFLOW_API_KEY}" RESPONSE_FILE="${TMP_DIR}/roboflow-export.json" ZIP_FILE="${TMP_DIR}/dataset.zip" echo "Requesting Roboflow export link..." curl -fsSL "${API_URL}" -o "${RESPONSE_FILE}" DOWNLOAD_URL="$( sed -n 's/.*"link"[[:space:]]*:[[:space:]]*"\([^"]*\)".*/\1/p' "${RESPONSE_FILE}" \ | head -n 1 \ | sed 's#\\/#/#g; s#\\u0026#\&#g' )" if [[ -z "${DOWNLOAD_URL}" ]]; then echo "Could not find export.link in Roboflow response." >&2 echo "Response:" >&2 cat "${RESPONSE_FILE}" >&2 exit 1 fi mkdir -p "${DATASET_DIR}" echo "Downloading dataset ZIP..." curl -fL "${DOWNLOAD_URL}" -o "${ZIP_FILE}" echo "Extracting dataset..." unzip -q -o "${ZIP_FILE}" -d "${DATASET_DIR}" echo "Downloaded dataset to ${DATASET_DIR}"