#!/bin/bash # PDF zu ICS Konverter - 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 Abhängigkeiten installiert sind if ! $PYTHON_VENV -c "import pdfplumber" 2>/dev/null; then echo "📚 Installiere Abhängigkeiten..." # Nutze python -m pip statt pip direkt if $PYTHON_VENV -m pip install -q pdfplumber icalendar pypdf2 pytz 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 || { echo "❌ Abhängigkeiten konnten nicht installiert werden" exit 1 } echo "✓ venv neu erstellt" fi fi # Starte das Skript if [ -f "$PYTHON_VENV" ]; then # Versuche zuerst das interaktive Menü, falls TTY verfügbar if [ -t 0 ]; then $PYTHON_VENV menu.py else # Sonst starte die direkte Konvertierung echo "" echo "🔄 Konvertiere PDF-Dateien..." echo "-----------------------------------" $PYTHON_VENV pdf_to_ics.py echo "-----------------------------------" echo "" echo "✅ Fertig!" fi 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.sh" exit 1 fi