#!/bin/bash

###############
# Collect screenshot from VNC server at Taff Bargoed and store in data folder
##############

BASE_DIR="$(cd "$(dirname "$0")" && pwd)"
DATA_DIR="$BASE_DIR/data"
ERRORS_DIR="$BASE_DIR/errors"

mkdir -p "$DATA_DIR" "$ERRORS_DIR"

echo "Running snapshot collection at $(date)"

# Timestamp for the capture
nowdate=$(date +%s)
OUTPUT_FILE="$DATA_DIR/last.gather.$nowdate"

# Capture screen via vncdotool inside docker
docker run --rm --init \
  --security-opt seccomp=unconfined \
  --pids-limit=-1 \
  -v "$DATA_DIR":/aa python:3.11-slim bash -c "
    pip install --quiet vncdotool && \
    vncdo --timeout 60 -s 109.109.152.31::45900 -p 'Ratfink1' capture /aa/temp_$nowdate.jpg
  "

# Verify capture succeeded and is non-empty
if [ -s "$DATA_DIR/temp_$nowdate.jpg" ]; then
    mv "$DATA_DIR/temp_$nowdate.jpg" "$OUTPUT_FILE"
    echo "Snapshot saved successfully: $OUTPUT_FILE"
else
    echo "Failed to capture snapshot at $(date)" >> "$ERRORS_DIR/capture_failed"
    rm -f "$DATA_DIR/temp_$nowdate.jpg"
    exit 1
fi

echo "Collection finished at $(date)"
exit 0
