#!/usr/bin/env bash
# Real demos for P078 "Every Python Concept for Beginners in 10 Minutes". Runs on the Mac (Docker Desktop).
# One "laptop": the official python:3.15-slim image, --network none, user ana, Ana's tea-shop files from lab/
# copied into /home/ana/shop. One real bash in a pty (demo_driver.py) that also starts the real Python REPL;
# every command and its output -> demo_output.json.
set -euo pipefail
cd "$(dirname "$0")"
P=ce-p078
cleanup() { docker rm -f $P-laptop >/dev/null 2>&1 || true; }
cleanup
[ -n "${KEEP:-}" ] || trap cleanup EXIT
docker run -d --name $P-laptop --hostname laptop --network none python:3.15-slim sleep infinity >/dev/null
docker exec $P-laptop sh -c 'useradd -m -s /bin/bash ana && mkdir -p /home/ana/shop'
docker cp lab/. $P-laptop:/home/ana/shop/
docker exec $P-laptop sh -c 'chown -R ana:ana /home/ana && printf "import sys\nsys.ps1 = \"__PY__\"\nsys.ps2 = \"__MORE__\"\n" > /home/ana/.pyrc && chown ana:ana /home/ana/.pyrc'
python3 demo_driver.py "$P"
