Skip to content

ScharadaValcta/contact-deduplicator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 

Repository files navigation

contact-deduplicator

Finale Spezifikation:

Config (JSON):

{
  "carddav_url": "https://cloud.example.com/remote.php/dav",
  "users": ["user1", "user2", "user3"]
}

Duplikat-Dialog:

  • Beide Kontakte vollständig anzeigen
  • Widersprüchliche Daten hervorheben
  • Benutzer entscheidet bei jedem Duplikat
  • Optionen: [M]erge / [S]kip / [Q]uit

Merge-Verhalten:

  • 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

Technische Umsetzung:

  1. Config laden/erstellen
  2. User auswählen (aus Config) + Passwort eingeben
  3. CardDAV verbinden
  4. Adressbuch wählen
  5. Duplikate finden (3 Kriterien)
  6. Interaktiver Merge-Dialog
  7. CardDAV-Änderungen durchführen

Nächste Schritte:

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.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published