Files
pdf_to_ics/start.sh

79 lines
2.3 KiB
Bash
Executable File

#!/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 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
# 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