Ejemplo n.º 1
0
#!/usr/bin/env python

import sys
import subprocess

import AddressBook as AB

# get a reference to the address book
book = AB.ABAddressBook.sharedAddressBook()

# create search parameters - prefix match on first or last name or email
firstname_search = AB.ABPersonCreateSearchElement(
    AB.kABLastNameProperty, None, None, sys.argv[1],
    AB.kABPrefixMatchCaseInsensitive)
lastname_search = AB.ABPersonCreateSearchElement(
    AB.kABFirstNameProperty, None, None, sys.argv[1],
    AB.kABPrefixMatchCaseInsensitive)
email_search = AB.ABPersonCreateSearchElement(
    AB.kABEmailProperty, None, None, sys.argv[1],
    AB.kABContainsSubStringCaseInsensitive)
name_search = AB.ABSearchElement.searchElementForConjunction_children_(
    AB.kABSearchOr, [firstname_search, lastname_search, email_search])

# perform the search
matches = book.recordsMatchingSearchElement_(name_search)

# collect results
results = []
for person in matches:
    emails = person.valueForKey_('Email') or []
    company = person.valueForKey_('Organization')