#!/usr/bin/python from __future__ import with_statement import dbus import sys, os import tempfile import re bus_name = 'org.gnome.evolution.dataserver.AddressBook' obj_name = "/org/gnome/evolution/dataserver/addressbook/file_3a__2f__2f__2f_home_2f_root_2f__2e_evolution_2f_addressbook_2f_local_2f_system" addressBook = None def getAddressBook(): global addressBook if addressBook is None: sb = dbus.SessionBus() obj = sb.get_object(bus_name, obj_name) addressBook = dbus.Interface(obj, 'org.gnome.evolution.dataserver.addressbook.Book') return addressBook l = [] removeList = [] l = getAddressBook().getContactList("(contains \"x-evolution-any-field\" \"\")") p = re.compile('UID\:([a-zA-F0-9\-]+)') for n in l: m = p.search(n).group() m = m.replace('UID:','') removeList.append(m); getAddressBook().removeContacts(removeList)