diff --git a/.dev_session/SESSION_INFO b/.dev_session/SESSION_INFO index 61450559..711d0bbd 100644 --- a/.dev_session/SESSION_INFO +++ b/.dev_session/SESSION_INFO @@ -1 +1 @@ -{"task_id": "30388f42-8544-8088-bc48-e59e9b973e91", "token": "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", "readme_path": null, "session_start_time": "2026-03-05T20:44:22.776793"} \ No newline at end of file +{"task_id": "30388f42-8544-8088-bc48-e59e9b973e91", "token": "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", "readme_path": null, "session_start_time": "2026-03-06T08:24:48.391690"} \ No newline at end of file diff --git a/ARCHIVE_vor_migration/Fotograf.de/list_generator/README.md b/ARCHIVE_vor_migration/Fotograf.de/list_generator/README.md new file mode 100644 index 00000000..c00093a4 --- /dev/null +++ b/ARCHIVE_vor_migration/Fotograf.de/list_generator/README.md @@ -0,0 +1,22 @@ +# Google Docs Teilnehmerlisten-Generator (Archiviert) + +Dieses Verzeichnis enthält die archivierten Dateien für den "Google Docs Teilnehmerlisten-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 ab. + +**Zugehörige Dateien in diesem Ordner:** +* `list_generator.py`: Das Hauptskript mit der gesamten Logik. + +**Manuell zu erstellende Dateien:** +Diese Dateien werden vom Skript als Input benötigt und müssen im selben Verzeichnis liegen: +* `Namensliste.csv`: Eine CSV-Datei mit den Anmeldungen für Kindergärten/Schulen. +* `familien.csv`: Eine CSV-Datei mit den Anmeldungen für Familien-Shootings. +* `service_account.json`: Die JSON-Datei mit den Anmeldeinformationen für den Google Cloud Service Account, der die Berechtigung hat, auf Google Docs und Google Drive zuzugreifen. + +**Hinweis zur Ausführung:** +Das Skript wird direkt mit Python ausgeführt, z.B.: +```bash +python3 list_generator.py +``` +Stellen Sie sicher, dass alle benötigten Bibliotheken (wie `google-api-python-client`, `google-auth-httplib2`, `google-auth-oauthlib`) in Ihrer Python-Umgebung installiert sind. Diese sind vermutlich in der globalen `requirements.txt` im Root-Verzeichnis des Projekts enthalten. diff --git a/list_generator.py b/ARCHIVE_vor_migration/Fotograf.de/list_generator/list_generator.py similarity index 100% rename from list_generator.py rename to ARCHIVE_vor_migration/Fotograf.de/list_generator/list_generator.py diff --git a/ARCHIVE_vor_migration/Fotograf.de/scraper/README.md b/ARCHIVE_vor_migration/Fotograf.de/scraper/README.md new file mode 100644 index 00000000..11c56ea4 --- /dev/null +++ b/ARCHIVE_vor_migration/Fotograf.de/scraper/README.md @@ -0,0 +1,32 @@ +# Fotograf.de Scraper (Archiviert) + +Dieses Verzeichnis enthält die archivierten Dateien für den "Fotograf.de Scraper". + +**Zweck:** +Ein Python-basiertes Tool, das die Website `app.fotograf.de` automatisiert besucht, sich anmeldet und in zwei Modi Daten extrahiert: +1. **E-Mail-Liste erstellen:** Sammelt Kontaktdaten und speichert sie in einer CSV-Datei (`supermailer_fertige_liste.csv`). +2. **Statistik auswerten:** Erstellt eine Statistik-CSV-Datei (`job_statistik.csv`). + +**Zugehörige Dateien in diesem Ordner:** +* `scrape_fotograf.py`: Das Hauptskript mit der gesamten Logik. + +**Manuell zu erstellende Dateien:** +* `fotograf_credentials.json`: Diese Datei wird vom Skript benötigt und muss die Login-Daten für `app.fotograf.de` im folgenden JSON-Format enthalten: + ```json + { + "PROFILNAME": { + "username": "IHR_BENUTZERNAME", + "password": "IHR_PASSWORT" + } + } + ``` + +**Externe Abhängigkeiten (befinden sich im Hauptverzeichnis des Projekts):** +* **Dockerfile:** `Dockerfile.brancheneinstufung` wurde wahrscheinlich verwendet, um ein Docker-Image für dieses Tool zu erstellen. Es installiert Google Chrome und die notwendigen Python-Pakete. +* **Python-Abhängigkeiten:** Die globale `requirements.txt` im Root-Verzeichnis enthält `selenium` und andere benötigte Bibliotheken. + +**Beispielhafter `docker run`-Befehl:** +1. Bauen Sie das Image (nur einmalig): `docker build -f Dockerfile.brancheneinstufung -t fotograf-scraper .` +2. Führen Sie den Container aus: `docker run -it --rm -v "$(pwd):/app" fotograf-scraper python3 /app/ARCHIVE_vor_migration/Fotograf.de/scraper/scrape_fotograf.py` + +(Pfade müssen ggf. angepasst werden, je nachdem, von wo der Befehl ausgeführt wird.) diff --git a/scrape_fotograf.py b/ARCHIVE_vor_migration/Fotograf.de/scraper/scrape_fotograf.py similarity index 100% rename from scrape_fotograf.py rename to ARCHIVE_vor_migration/Fotograf.de/scraper/scrape_fotograf.py diff --git a/service_account.json b/service_account.json deleted file mode 100644 index 4d3e6359..00000000 --- a/service_account.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "type": "service_account", - "project_id": "kalender-400315", - "private_key_id": "e18c9ed28d358b7c1dd33767ae40d76646d09ee5", - "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCon4+bfr+DL88y\n9kuyEzB0fu20N8gfz/8VPGqsLkY3fo0mklriXYS0Ofw8nlhXKUYQd/7HF1LQDbb0\n+4BZy5W6HjAzq4BxQM9X8q72oFqU20vtvVE3PGCFZ2yek2KaamMz1rV3tg0QJHBp\nD43tDXfhqsFcQtzQ5dLS06jagpw4oFQq37nTpaAHGfarA2gIz0EiKSFIusyqyMbY\nzit1wSJvC8yS14ucIa/xEthIP5IGln2nu8OKeil2X9Wlg5+y2gnkIwAaiFuJE6u6\nyyRnljK97wjxUoeq7JGj75TVvhW8/nPEJJGVt9Df2RG/mcsCGPCw1M+BK98wnLQM\nqf6DASGvAgMBAAECggEABnwwgTn0Mp7tmJepXJ1pUSmqibJVg4ez10S+E4YqFCtN\nUWzyit8u4eGTBl/OpPeE5tA+n7iRakgEv9JGYu22AfT0RKB1baWg89B1Ey4inbP7\nbRbJX1b2nVrXbhfcBHVQAGfjDcoWIYdNPXUoL7RDZo3zJtG5fV1BaPNT/KdmS7Uq\nzShY8QNTImwDvczzGo1UzZZYz+Wh1WafzvUXJrxZUrwLgZEUAHjwC46WyCVlKlVK\nWKuc1j/gpSm6vp5QtQwIEyWHIXdfxDN61Qizt3ujOSvEZwrt70/kEl9zqfILK2S4\nDuVXUfdg7RLSfoDll8RckVd6MvvKpAs2gQHN99vymQKBgQDiaei7wvTeoEh43OR9\nmtz9uRyTtGx4xfQGQZ62Tb5z6RtU2N+uEuT+bbQ3svP5yMfIqVV0NxZjUkA6A4H0\ndQwaKYcfLGXPDK3XOERh1R12MFcHmN3GXQ3htqPwHssv1XWkWtzF71DfO2prkQhQ\nsJMHQeLSdrMhJuBDFkVxzt+XtwKBgQC+qGvV29k3CsiJdA/kvdXj2Av0MCqaesyb\nDZ95pJUitSFzCwKf4TNL8lFwnp8aH2SAFMyjVfU6lW8x97kd7LrHVoEJZ8LZUFfp\ne2nJtr7zAzWhSEXvVyFTultu8f0yCRAaQSvxtNrxzK2qKSU/i5LG4UEn5/2UXIc3\nGP7vKAcVyQKBgFtY0X4XfQXo8vRYYpNOjMSND7uD+pOLghWYGfmBSkqnjNBho3Uu\nyFbiWehy+b4YRIpvzztREmZGBAWj7qV7J8PSZ2KrXfP4MJb5a5VxDy7k9+fnw+pJ\nFtWvA1tYgS+uVoVV52awVBeMeDYn0IwFgXxXF7VEEKdacPaAIMp25XznAoGAVwlP\n4Rsx+BymG4muT8ARyqewHVN3v3nbudToPoHRyzxg/sHB+va1kjAW2ZCwFR7LpGTa\nXp45Cvt4/ZiXG4AcbC+jTIXfv5Eb8Ox0CK+yUAHhE7WIp5BhGHX0k5tI+PSGM1YZ\nF4h2gvfrN8j8xhuTb9MZCXywmG/9EjwI9WiSg3ECgYEA2EX+2xAc3zpDaTdb7h4n\nBo6lzYU2JYSeNR/fBUMqZGkBEJ/NUpwihY8kvkuxr3CvfDEEjGj2xhH8qYfiO4Pp\nUVh/dPgjq4XAibXWtVsXpploCPqYFj3lBwqFbDHPkE0HG/oXxYHRFgVss8ZOdOp6\nteiDU5B/5caV7jNk+nluzMg=\n-----END PRIVATE KEY-----\n", - "client_email": "brancheneinstufung@kalender-400315.iam.gserviceaccount.com", - "client_id": "114291880309376322726", - "auth_uri": "https://accounts.google.com/o/oauth2/auth", - "token_uri": "https://oauth2.googleapis.com/token", - "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs", - "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/brancheneinstufung%40kalender-400315.iam.gserviceaccount.com", - "universe_domain": "googleapis.com" -}