{
"carddav_url": "https://cloud.example.com/remote.php/dav",
"users": ["user1", "user2", "user3"]
}
- Beide Kontakte vollständig anzeigen
- Widersprüchliche Daten hervorheben
- Benutzer entscheidet bei jedem Duplikat
- Optionen: [M]erge / [S]kip / [Q]uit
- Alle vCard-Felder sammeln (auch unbekannte)
- Listen kombinieren (E-Mails, Telefone, etc.)
- Duplikate in Listen vermeiden
- Widersprüche anzeigen (verschiedene Adressen, Namen, etc.)
- Originale löschen, neuen Kontakt erstellen
- Config laden/erstellen
- User auswählen (aus Config) + Passwort eingeben
- CardDAV verbinden
- Adressbuch wählen
- Duplikate finden (3 Kriterien)
- Interaktiver Merge-Dialog
- CardDAV-Änderungen durchführen
Soll ich jetzt eine saubere Implementierung von Grund auf neu schreiben?
Struktur-Vorschlag:
contact_deduplicator/
├── config.py # Config-Management
├── carddav_client.py # CardDAV-Verbindung
├── duplicate_finder.py # Duplikat-Logik
├── merger.py # Merge-Funktionalität
├── ui.py # Terminal-Interface
└── main.py # Hauptprogramm
Data Quality Features:
- All Phonenumbers with International so 01xxxx -> +491xxxx for Germany
- All Contacts ask and add IM or Web with a list of posible IM (Matrix, Signal, Discord, Xing, Steam, Origin, Epic Games, Threema, Linkedin, OSM, Github usw.