contacts-to-remind/README.md

141 lines
3.5 KiB
Markdown
Raw Normal View History

2025-04-18 13:51:00 +02:00
# Apple Contacts to Remind Exporter
2025-04-15 17:56:14 +02:00
2025-04-18 13:51:00 +02:00
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
2025-04-15 17:58:37 +02:00
## Voraussetzungen
- macOS (da Apple Contacts verwendet wird)
- Python 3.6+
2025-04-18 13:51:00 +02:00
- pyobjc-framework-Contacts
2025-04-15 17:58:37 +02:00
## Installation
2025-04-18 13:51:00 +02:00
1. Repository klonen oder die Datei herunterladen
2025-04-15 17:58:37 +02:00
```bash
2025-04-18 13:51:00 +02:00
git clone https://github.com/dein-username/apple-contacts-to-remind.git
cd apple-contacts-to-remind
2025-04-15 17:58:37 +02:00
```
2025-04-18 13:51:00 +02:00
2. Python-Umgebung einrichten (mit uv oder pip)
2025-04-15 17:58:37 +02:00
```bash
2025-04-18 13:51:00 +02:00
# Mit uv
2025-04-15 17:58:37 +02:00
uv venv
2025-04-18 13:51:00 +02:00
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
2025-04-15 17:58:37 +02:00
```
2025-04-18 13:51:00 +02:00
3. Das Script ausführbar machen
2025-04-15 17:58:37 +02:00
```bash
2025-04-18 13:51:00 +02:00
chmod +x contacts_to_remind.py
2025-04-15 17:58:37 +02:00
```
2025-04-18 13:51:00 +02:00
## Verwendung
### Grundlegende Verwendung
2025-04-15 17:58:37 +02:00
```bash
2025-04-18 13:51:00 +02:00
./contacts_to_remind.py
2025-04-15 17:58:37 +02:00
```
2025-04-18 13:51:00 +02:00
Dies erstellt eine Datei `geburtstage.rem` im aktuellen Verzeichnis.
2025-04-15 17:58:37 +02:00
2025-04-18 13:51:00 +02:00
### Optionen
2025-04-15 17:58:37 +02:00
```
2025-04-18 13:51:00 +02:00
usage: contacts_to_remind.py [-h] [-o OUTPUT] [-v]
2025-04-15 17:58:37 +02:00
2025-04-18 13:51:00 +02:00
Exportiert Geburtstage aus Apple Contacts in eine Remind-Datei.
2025-04-15 17:58:37 +02:00
2025-04-18 13:51:00 +02:00
options:
-h, --help Zeigt diese Hilfe an und beendet das Programm
-o OUTPUT, --output OUTPUT
Ausgabedatei (Standard: geburtstage.rem)
-v, --verbose Ausführliche Ausgabe
```
2025-04-15 17:58:37 +02:00
2025-04-18 13:51:00 +02:00
### Beispiele
2025-04-15 17:58:37 +02:00
2025-04-18 13:51:00 +02:00
Standard-Ausgabedatei erstellen:
2025-04-15 17:58:37 +02:00
```bash
./contacts_to_remind.py
```
2025-04-18 13:51:00 +02:00
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.
2025-04-15 17:58:37 +02:00
2025-04-18 13:51:00 +02:00
## Integration mit Remind
2025-04-15 17:58:37 +02:00
2025-04-18 13:51:00 +02:00
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:
2025-04-15 17:58:37 +02:00
```bash
2025-04-18 13:51:00 +02:00
remind geburtstage.rem
2025-04-15 17:58:37 +02:00
```
2025-04-18 13:51:00 +02:00
## Bericht über fehlende Geburtsjahre
2025-04-15 17:58:37 +02:00
2025-04-18 13:51:00 +02:00
Das Script gibt nach dem Ausführen einen Bericht über Kontakte aus, bei denen das Geburtsjahr fehlt:
2025-04-15 17:58:37 +02:00
```
2025-04-18 13:51:00 +02:00
Kontakte mit fehlendem Geburtsjahr (1604):
-----------------------------------------
• Anna Beispiel (23.4.)
• Max Mustermann (15.1.)
2025-04-15 17:58:37 +02:00
2025-04-18 13:51:00 +02:00
Hinweis: Bei diesen Kontakten wird kein Alter berechnet.
2025-04-15 17:58:37 +02:00
```
2025-04-18 13:51:00 +02:00
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).
2025-04-15 17:58:37 +02:00
2025-04-18 13:51:00 +02:00
## Beitragen
2025-04-15 17:58:37 +02:00
2025-04-18 13:51:00 +02:00
Beiträge sind willkommen! Bitte fühlen Sie sich frei, Issues zu eröffnen oder Pull Requests einzureichen, um dieses Tool zu verbessern.