Fix first-run blockers: MOVIES_DIR path, CAM_NAME, .env for Python, eval safety

daily_sunrise_video.sh: use \$MOVIES_DIR instead of \$BASE_DIR/movies so the
override in sky-cam.conf is respected when videos live on a separate drive.

capture.sh: default camera name falls back to \$SUNRISE_CAM (not the
undefined \$CAM_NAME) when no argument is passed.

sunrise2mm.py: also loads .env after sky-cam.conf so Mattermost credentials
moved to .env are actually visible to the upload script.

sunrise.py: raise a clear error message when LATITUDE/LONGITUDE/TIMEZONE
are missing from sky-cam.conf instead of an opaque KeyError.

4-seasons.sh, montage-mvt.sh: capture season_info.py output before eval so
a Python failure exits cleanly with a diagnostic message rather than
silently continuing with undefined variables.

bootstrap.sh: add system package install step (ffmpeg bc fonts-dejavu) and
show the .env setup step after install.sh generates .env.example.

README.md: correct Python package names and add fonts-dejavu dependency.

https://claude.ai/code/session_01C4jbd3waXG3eKZYbGUjLUQ
This commit is contained in:
Claude
2026-04-19 23:37:10 +00:00
parent a1b9ffa8ee
commit a1cf1304e4
8 changed files with 28 additions and 8 deletions
+4 -1
View File
@@ -28,8 +28,11 @@ def read_config(config_file_path):
exit(1)
return config
# Read configuration from the file
# Read configuration — sky-cam.conf first, then .env overrides (credentials)
config = read_config(config_file_path)
_env_path = str(_here / '.env')
if os.path.isfile(_env_path):
config.update(read_config(_env_path))
# Get the values from the configuration file
mattermost_url = config.get('mattermost_url')