90 lines
2.2 KiB
Markdown
90 lines
2.2 KiB
Markdown
# 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
|
|
uv pip install pyobjc-framework-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
|