#!/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)