#!/bin/bash # --------------------------------------------------------------------- # Alle Bildschirmfotos fuers Handbuch neu aufnehmen. # # ./aufnehmen.sh alle # ./aufnehmen.sh explorer nur die, deren Name das enthaelt # # Ergebnis: handbuch/docs/bilder/*.svg # Wie das funktioniert, steht in LIESMICH.md. # --------------------------------------------------------------------- set -euo pipefail HIER="$(cd "$(dirname "$0")" && pwd)" HANDBUCH="$(dirname "${HIER}")" VENV="${HANDBUCH}/.venv" info() { printf '\033[36m%s\033[0m\n' "$*"; } rot() { printf '\033[31m%s\033[0m\n' "$*" >&2; } # unshare -r braucht Benutzer-Namensraeume; ohne sie stehen im Explorer die # Arbeitspfade dieser Werkstatt statt der Pfade eines echten Hosts. if ! unshare -r -m --propagation private true 2>/dev/null; then rot "Benutzer-Namensraeume sind nicht verfuegbar (unshare -r schlaegt fehl)." rot "Ohne sie stimmen die Pfade in den Explorer-Bildern nicht." exit 1 fi if [ ! -x "${VENV}/bin/python" ]; then info "Richte Bau-Umgebung in ${VENV} ein ..." python3 -m venv "${VENV}" "${VENV}/bin/pip" install --quiet --upgrade pip fi if ! "${VENV}/bin/python" -c "import pyte" 2>/dev/null; then info "Installiere pyte (Bildschirm-Nachbau) ..." "${VENV}/bin/pip" install --quiet pyte fi info "Baue die Demo-Kulisse ..." "${VENV}/bin/python" "${HIER}/demo.py" >/dev/null info "Nehme auf ..." "${VENV}/bin/python" "${HIER}/scenes.py" "$@" echo info "Fertig: ${HANDBUCH}/docs/bilder/"