Require camera name explicitly across all seasons scripts

No script defaults to SUNRISE_CAM (east) for the seasons pipeline.
Every direction is treated equally — camera name is a required arg,
not an optional override.

- 4-seasons.sh: $1 required, exits with usage if missing
- montage-mvt.sh: arg order changed to <cam> [date]; $1 required
- year-end-join.sh: $2 (cam) required
- verify-mvt.sh: $4 (cam) required
- migrate-seasons.sh: example commands updated to new arg order
- README.md: montage-mvt.sh examples updated

https://claude.ai/code/session_01C4jbd3waXG3eKZYbGUjLUQ
This commit is contained in:
Claude
2026-04-20 16:28:15 +00:00
parent 91006bf5f6
commit 8c752fc165
6 changed files with 40 additions and 25 deletions
+11 -4
View File
@@ -22,9 +22,17 @@ SCRIPT_DIR="$(dirname "$(realpath "$0")")"
source "$SCRIPT_DIR/sky-cam.conf"
export TIMEZONE # make it visible to season_info.py subprocess
# Args: [date] [camera-name]
# Camera name: second argument overrides conf (passed through from 4-seasons.sh).
CAM_NAME="${2:-$SUNRISE_CAM}"
# Args: <camera-name> [date]
# Camera name: required first argument.
# Date: optional second argument (defaults to today; pass yesterday's date when
# running the morning after the last day of a movement).
CAM_NAME="${1:-}"
DATE_ARG="${2:-}"
if [ -z "$CAM_NAME" ]; then
echo "Usage: $0 <camera-name> [YYYY-MM-DD]"
echo " e.g. $0 east 2026-04-19"
exit 1
fi
# ── Configuration ──────────────────────────────────────────────────────────────
base_dir="$BASE_DIR"
@@ -38,7 +46,6 @@ ATTR_DUR="$MONTAGE_ATTR_DUR"
ATTR_FADE="$MONTAGE_ATTR_FADE"
# ── Season / movement info ────────────────────────────────────────────────────
DATE_ARG="${1:-}"
_season_info="$(python3 "$SCRIPT_DIR/season_info.py" ${DATE_ARG:+"$DATE_ARG"})" || {
echo "Error: season_info.py failed — check Python dependencies (suntime pytz)"
exit 1