Initial commit: PDF zu ICS Konverter
This commit is contained in:
78
start.sh
Executable file
78
start.sh
Executable file
@@ -0,0 +1,78 @@
|
||||
#!/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
|
||||
Reference in New Issue
Block a user