# Apple Contacts Geburtstage zu Remind Exporter Dieses Tool exportiert Geburtstagsinformationen aus Apple Contacts und erstellt eine Remind-Datei für Geburtstagserinnerungen. ## Voraussetzungen - macOS (da Apple Contacts verwendet wird) - Python 3.6+ - uv (Python-Projektverwaltungstool) ## Installation 1. Erstellen Sie ein Verzeichnis für das Projekt und wechseln Sie hinein: ```bash mkdir contacts-to-remind cd contacts-to-remind ``` 2. Erstellen Sie eine Umgebung mit uv: ```bash uv venv ``` 3. Aktivieren Sie die Umgebung: ```bash source .venv/bin/activate ``` 4. Installieren Sie die erforderliche Abhängigkeit: ```bash uv pip install contacts ``` 5. Speichern Sie das Script in einer Datei namens `contacts_to_remind.py` 6. Machen Sie das Script ausführbar: ```bash chmod +x contacts_to_remind.py ``` ## Verwendung ### Grundlegende Verwendung Führen Sie das Script aus, um eine `geburtstage.rem`-Datei im aktuellen Verzeichnis zu erstellen: ```bash ./contacts_to_remind.py ``` ### Optionen - `-o DATEI`, `--output DATEI`: Gibt einen benutzerdefinierten Pfad/Namen für die Ausgabedatei an - `-v`, `--verbose`: Zeigt ausführliche Informationen während der Ausführung Beispiel mit Optionen: ```bash ./contacts_to_remind.py -o ~/remind/meine_geburtstage.rem -v ``` ## Remind-Format Das Script erstellt eine Remind-Datei im folgenden Format: ``` # Geburtstage aus Apple Contacts # Erstellt am: 2025-04-14 12:34:56 # Enthält Erinnerungen am Geburtstag und 7 Tage vorher REM 15 JAN MSG Max Mustermann: Geburtstag (35 Jahre alt) %b REM 15 JAN +7 MSG Vorwarnung: Max Mustermann hat in 7 Tagen Geburtstag (35 Jahre alt) %b REM 28 FEB MSG Erika Beispiel: Geburtstag %b REM 28 FEB +7 MSG Vorwarnung: Erika Beispiel hat in 7 Tagen Geburtstag %b ``` Die Rem-Einträge sind nach Monat und Tag sortiert und enthalten das Alter, wenn das Geburtsjahr bekannt ist. Für jeden Geburtstag gibt es zwei Einträge: 1. Eine Erinnerung am eigentlichen Geburtstag 2. Eine Vorwarnung 7 Tage vor dem Geburtstag mit der Syntax `+7` ## Hinweise - Wenn bei einem Kontakt kein Geburtsjahr hinterlegt ist, wird kein Alter angezeigt - Das Script kann als regelmäßiger Cron-Job eingerichtet werden, um die Geburtstagsdatei zu aktualisieren