diff --git a/ARCHIVE_vor_migration/Fotograf.de/README.md b/ARCHIVE_vor_migration/Fotograf.de/README.md new file mode 100644 index 00000000..601c3d1c --- /dev/null +++ b/ARCHIVE_vor_migration/Fotograf.de/README.md @@ -0,0 +1,75 @@ +# Archivierte Fotograf.de Tools + +Dieses Verzeichnis (`ARCHIVE_vor_migration/Fotograf.de/`) enthält zwei archivierte Tools, die zuvor für die Interaktion mit `app.fotograf.de` und die Erstellung von Google Docs Teilnehmerlisten verwendet wurden. + +Beide Tools sind hier isoliert und dokumentiert, um eine spätere Wiederverwendung und Überarbeitung zu erleichtern. + +## 1. Fotograf.de Scraper + +**Verzeichnis:** `./scraper/` + +**Zweck:** +Ein Python-basiertes Skript, das die Website `app.fotograf.de` automatisiert besucht, sich anmeldet und in zwei Modi Daten extrahiert: +1. **E-Mail-Liste erstellen:** Sammelt Kontaktdaten (Käufer, E-Mail, Kindnamen, Login-URLs) und speichert sie in einer CSV-Datei (`supermailer_fertige_liste.csv`). +2. **Statistik auswerten:** Erstellt eine Statistik-CSV-Datei (`job_statistik.csv`) über Album-Käufe. + +**Benötigte Dateien:** +* `./scraper/scrape_fotograf.py`: Das Hauptskript mit der gesamten Logik. +* `./scraper/fotograf_credentials.json`: **(Manuell zu erstellen!)** Diese Datei muss Ihre Login-Daten für `app.fotograf.de` im folgenden JSON-Format enthalten: + ```json + { + "PROFILNAME": { + "username": "IHR_BENUTZERNAME", + "password": "IHR_PASSWORT" + } + } + ``` + +**Ausführung über Docker:** +Das Tool wird in einer Docker-Umgebung ausgeführt, die Google Chrome und Selenium bereitstellt. + +1. **Image bauen (einmalig oder bei Änderungen an Dockerfile/requirements.txt):** + Navigieren Sie zum Root-Verzeichnis des Hauptprojekts (`/app`) und verwenden Sie das dortige `Dockerfile.brancheneinstufung`: + ```bash + cd /app + docker build -f Dockerfile.brancheneinstufung -t fotograf-scraper . + ``` + *(Hinweis: Das `Dockerfile.brancheneinstufung` verwendet die globale `requirements.txt` im Root-Verzeichnis, welche `selenium` enthält.)* + +2. **Container starten und Skript ausführen:** + Vom Root-Verzeichnis des Hauptprojekts (`/app`) aus: + ```bash + cd /app + docker run -it --rm -v "$(pwd):/app" fotograf-scraper python3 /app/ARCHIVE_vor_migration/Fotograf.de/scraper/scrape_fotograf.py + ``` + Das Skript fragt Sie interaktiv nach dem gewünschten Modus und der URL des Fotoauftrags. + + +## 2. Google Docs Teilnehmerlisten-Generator + +**Verzeichnis:** `./list_generator/` + +**Zweck:** +Ein Python-Skript, das CSV-Dateien einliest und daraus formatierte Teilnehmerlisten als neues Google Docs-Dokument im Google Drive erstellt. Das Tool ist interaktiv und fragt beim Start Details wie den Namen der Veranstaltung, den Einrichtungstyp und den Ausgabemodus ab. + +**Benötigte Dateien:** +* `./list_generator/list_generator.py`: Das Hauptskript mit der gesamten Logik. +* `./list_generator/Namensliste.csv`: **(Manuell zu erstellen!)** Eine CSV-Datei mit den Anmeldungen für Kindergärten/Schulen. +* `./list_generator/familien.csv`: **(Manuell zu erstellen!)** Eine CSV-Datei mit den Anmeldungen für Familien-Shootings. +* `./list_generator/service_account.json`: **(Manuell zu erstellen!)** Die JSON-Datei mit den Anmeldeinformationen für den Google Cloud Service Account. Diese Datei wird benötigt, um auf Google Docs und Google Drive zuzugreifen. + +**Ausführung:** +Navigieren Sie in das Verzeichnis des Tools und starten Sie es mit Python: +```bash +cd /app/ARCHIVE_vor_migration/Fotograf.de/list_generator/ +python3 list_generator.py +``` +*(Stellen Sie sicher, dass alle benötigten Python-Bibliotheken wie `google-api-python-client` etc. in Ihrer Umgebung installiert sind. Diese sind vermutlich über die globale `requirements.txt` im Root-Verzeichnis des Hauptprojekts verfügbar.)* + +## Wichtiger Hinweis zu Credentials (Sicherheit) + +Die Tools verwenden `fotograf_credentials.json` und `service_account.json` zur Authentifizierung. Diese Dateien enthalten sensitive Zugangsdaten und wurden **bewusst aus der Git-Historie entfernt** und nicht im Repository abgelegt. + +**Für die Wiederinbetriebnahme müssen diese Dateien manuell im jeweiligen Tool-Verzeichnis (`./scraper/` bzw. `./list_generator/`) erstellt und mit den korrekten Zugangsdaten befüllt werden.** + +**Priorität für die Überarbeitung:** Bei einer zukünftigen Überarbeitung dieser Tools ist es **zwingend erforderlich**, die Handhabung der Credentials zu verbessern. Statt fester JSON-Dateien sollten Umgebungsvariablen (`.env`) oder ein sicherer Secret Management Service verwendet werden, um die Sicherheitsstandards zu erhöhen.