#!/bin/bash # PDF zu ICS Konverter - GUI Startskript SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" cd "$SCRIPT_DIR" # Finde Python-Executable PYTHON_CMD="" if command -v python3 &> /dev/null; then PYTHON_CMD="python3" elif command -v python &> /dev/null; then PYTHON_CMD="python" else echo "❌ Fehler: Python nicht gefunden!" echo "Bitte installieren Sie Python 3.6 oder höher." exit 1 fi echo "🐍 Nutze: $PYTHON_CMD" # Erstelle venv wenn nicht vorhanden if [ ! -d ".venv" ]; then echo "📦 Python-Umgebung wird eingerichtet..." $PYTHON_CMD -m venv .venv --upgrade-deps || { echo "❌ venv konnte nicht erstellt werden" exit 1 } fi # Nutze Python aus venv PYTHON_VENV=".venv/bin/python" # Überprüfe, ob Kern-Abhängigkeiten installiert sind if ! $PYTHON_VENV -c "import pdfplumber, icalendar, pypdf2, pytz, packaging" 2>/dev/null; then echo "📚 Installiere Abhängigkeiten..." if $PYTHON_VENV -m pip install -q pdfplumber icalendar pypdf2 pytz packaging 2>/dev/null; then echo "✓ Abhängigkeiten installiert" else echo "❌ Installation fehlgeschlagen" echo "🔧 Versuche venv neu aufzubauen..." rm -rf .venv $PYTHON_CMD -m venv .venv --upgrade-deps || { echo "❌ venv konnte nicht neu erstellt werden" exit 1 } $PYTHON_VENV -m pip install -q pdfplumber icalendar pypdf2 pytz packaging || { echo "❌ Abhängigkeiten konnten nicht installiert werden" exit 1 } echo "✓ venv neu erstellt" fi fi # Überprüfe, ob wxPython installiert ist if ! $PYTHON_VENV -c "import wx" 2>/dev/null; then echo "📚 Installiere wxPython..." if $PYTHON_VENV -m pip install wxPython; then echo "✓ wxPython installiert" else echo "❌ wxPython konnte nicht installiert werden" echo "💡 Auf Linux fehlen ggf. Build-Abhängigkeiten. Unter Debian/Ubuntu/Mint oft hilfreich:" echo " sudo apt-get update" echo " sudo apt-get install -y build-essential python3-dev libgtk-3-dev libglib2.0-dev libjpeg-dev libtiff-dev libpng-dev" echo " rm -rf .venv && ./start_gui.sh" exit 1 fi fi # Starte die GUI echo "🎨 Starte GUI..." if [ -f "$PYTHON_VENV" ]; then $PYTHON_VENV gui_wxpython.py else echo "❌ Fehler: Python-Umgebung ist beschädigt" echo "📁 Bitte löschen Sie das .venv Verzeichnis und versuchen Sie erneut:" echo " rm -rf .venv" echo " ./start_gui.sh" exit 1 fi