2 from pygobject import *
7 ebook = CDLL('libebook-1.2.so.9')
8 E_CONTACT_HOMEPAGE_URL = 42
11 E_CONTACT_BIRTHDAY_DATE = 107
15 def getContactNameFromPhone(self, phoneNum):
18 addresses = evolution.ebook.open_addressbook('default')
19 contacts = addresses.get_all_contacts()
22 #ai = GList.new(ebook.e_contact_get_attributes(hash(self._contact), E_CONTACT_EMAIL))
24 for econtact in contacts:
27 #print econtact.get_name()
28 phones = econtact.get_property('phone')
30 phones_p=int(str(phones)[13:-1],16)
31 phoneList = GList.new(phones_p)
33 while phoneList.has_next():
34 currPhone = string_at(phoneList.next())
36 if currPhone == phoneNum:
37 return econtact.get_name()
44 def populateNames(self, recvLst, sentLst):
46 addresses = evolution.ebook.open_addressbook('default')
47 contacts = addresses.get_all_contacts()
52 """"for msg in recvLst:
53 for contact in contacts:
55 phones = contact.get_property('phone')
56 phones_p=int(str(phones)[13:-1],16)
60 phoneList = GList.new(phones_p)
62 while phoneList.has_next():
63 currPhone = string_at(phoneList.next())
64 if currPhone[-7:] == msg.fromNum[-7:]:
65 msg.setSenderName(contact.get_name())
69 for contact in contacts:
72 phones = contact.get_property('phone')
73 phones_p=int(str(phones)[13:-1],16)
74 phoneList = GList.new(phones_p)
84 while phoneList.has_next():
85 currPhone = string_at(phoneList.next())
87 if currPhone[-7:] == msg.fromNum[-7:]:
88 msg.setSenderName(contact.get_name())
89 photo = contact.get_property('photo')
90 pi = cast(c_void_p(hash(photo)), POINTER(EContactPhoto))
92 if pi.contents.data.uri.startswith("image/"):
93 #data = string_at(pi.contents.data.inlined.data)
94 data = string_at(pi.contents.data.inlined.data, pi.contents.data.inlined.length)
95 length = pi.contents.data.inlined.length
96 msg.setImageData(data, length)
99 if currPhone[-7:] == msg.toNum[-7:]:
100 msg.setRecName(contact.get_name())
101 photo = contact.get_property('photo')
102 pi = cast(c_void_p(hash(photo)), POINTER(EContactPhoto))
104 if pi.contents.data.uri.startswith("image/"):
105 #data = string_at(pi.contents.data.inlined.data)
106 data = string_at(pi.contents.data.inlined.data, pi.contents.data.inlined.length)
107 length = pi.contents.data.inlined.length
108 msg.setImageData(data, length)