# Apple Contacts to Remind Exporter Dieses Python-Tool exportiert Geburtstagsinformationen aus Apple Contacts und erstellt eine Remind-Datei für Geburtstagserinnerungen. ## Funktionen - Extrahiert Geburtstage aller Kontakte aus Apple Contacts - Erzeugt eine Remind-kompatible .rem-Datei - Erstellt Erinnerungen mit 7-Tage-Vorwarnung vor jedem Geburtstag - Berechnet das Alter automatisch (wenn das Geburtsjahr bekannt ist) - Sortiert Einträge nach Monat und Tag - Generiert einen Bericht über Kontakte mit fehlendem Geburtsjahr ## Voraussetzungen - macOS (da Apple Contacts verwendet wird) - Python 3.6+ - pyobjc-framework-Contacts ## Installation 1. Repository klonen oder die Datei herunterladen ```bash git clone https://github.com/dein-username/apple-contacts-to-remind.git cd apple-contacts-to-remind ``` 2. Python-Umgebung einrichten (mit uv oder pip) ```bash # Mit uv uv venv source .venv/bin/activate uv pip install pyobjc-framework-Contacts # Mit pip python -m venv venv source venv/bin/activate pip install pyobjc-framework-Contacts ``` 3. Das Script ausführbar machen ```bash chmod +x contacts_to_remind.py ``` ## Verwendung ### Grundlegende Verwendung ```bash ./contacts_to_remind.py ``` Dies erstellt eine Datei `geburtstage.rem` im aktuellen Verzeichnis. ### Optionen ``` usage: contacts_to_remind.py [-h] [-o OUTPUT] [-v] Exportiert Geburtstage aus Apple Contacts in eine Remind-Datei. options: -h, --help Zeigt diese Hilfe an und beendet das Programm -o OUTPUT, --output OUTPUT Ausgabedatei (Standard: geburtstage.rem) -v, --verbose Ausführliche Ausgabe ``` ### Beispiele Standard-Ausgabedatei erstellen: ```bash ./contacts_to_remind.py ``` Benutzerdefinierte Ausgabedatei angeben: ```bash ./contacts_to_remind.py -o ~/remind/meine_geburtstage.rem ``` Mit ausführlicher Ausgabe: ```bash ./contacts_to_remind.py -v ``` ## Ausgabeformat Das Tool erzeugt eine Remind-Datei im folgenden Format: ``` # Geburtstage aus Apple Contacts # Erstellt am: 2025-04-15 14:23:45 # Enthält Erinnerungen am Geburtstag mit 7-Tage-Vorwarnung if !defined("init") set init 1 fset since(x) ord(year(trigdate())-x) endif REM 15 JAN +7 MSG Max Mustermanns [since(1986)] Geburtstag ist am 15. JAN %b REM 28 FEB +7 MSG Erika Beispiels Geburtstag ist am 28. FEB %b ``` Das Script erstellt Erinnerungen, die 7 Tage vor dem eigentlichen Geburtstag angezeigt werden. Für Kontakte mit bekanntem Geburtsjahr wird das Alter dynamisch berechnet. ## Integration mit Remind Die generierte .rem-Datei kann direkt mit [Remind](https://dianne.skoll.ca/projects/remind/) verwendet werden, einem leistungsfähigen Erinnerungstool für die Kommandozeile. Um die Geburtstagsdatei in Remind zu verwenden, fügen Sie sie zu Ihrer Remind-Konfiguration hinzu oder laden Sie sie direkt: ```bash remind geburtstage.rem ``` ## Bericht über fehlende Geburtsjahre Das Script gibt nach dem Ausführen einen Bericht über Kontakte aus, bei denen das Geburtsjahr fehlt: ``` Kontakte mit fehlendem Geburtsjahr (1604): ----------------------------------------- • Anna Beispiel (23.4.) • Max Mustermann (15.1.) Hinweis: Bei diesen Kontakten wird kein Alter berechnet. ``` Dies hilft Ihnen, Kontakte zu identifizieren, bei denen das Geburtsjahr fehlt, falls Sie diese Informationen ergänzen möchten. ## Lizenz Dieses Projekt steht unter der [GNU General Public License v3.0](LICENSE). ## Beitragen Beiträge sind willkommen! Bitte fühlen Sie sich frei, Issues zu eröffnen oder Pull Requests einzureichen, um dieses Tool zu verbessern.