79 lines
2.2 KiB
Bash
Executable File
79 lines
2.2 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 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
|