Skip sync for existing data and too-recent dates
- Check consumption table before fetching; return early if data exists - Return "no data to fetch" for dates >= yesterday (not yet available) - Add sync-month.sh script to sync all days in a month - Add kill-server.sh script to free port 3000 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Executable
+32
@@ -0,0 +1,32 @@
|
||||
#!/usr/bin/env bash
|
||||
# Sync Eloverblik data for a specific month.
|
||||
# Usage: ./sync-month.sh 2026-02
|
||||
set -euo pipefail
|
||||
|
||||
if [ $# -ne 1 ]; then
|
||||
echo "Usage: $0 YYYY-MM"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
MONTH="$1"
|
||||
BASE_URL="${BASE_URL:-http://localhost:3000}"
|
||||
|
||||
# Last day of the month (macOS date)
|
||||
days=$(date -j -v+1m -v-1d -f "%Y-%m-%d" "${MONTH}-01" "+%d")
|
||||
|
||||
echo "Syncing $MONTH ($days days)"
|
||||
|
||||
for day in $(seq 1 "$days"); do
|
||||
d=$(printf "%s-%02d" "$MONTH" "$day")
|
||||
resp=$(curl -s -X POST "${BASE_URL}/eloverblik/sync?date=${d}")
|
||||
text=$(echo "$resp" | sed 's/<[^>]*>//g' | xargs)
|
||||
|
||||
if [ -z "$text" ]; then
|
||||
echo "$d: no response (server down?)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "$d: $text"
|
||||
done
|
||||
|
||||
echo "Done."
|
||||
Reference in New Issue
Block a user