test
[retroconv] / contactsServ.py
1 from evolution import ebook
2 import pygobject
3 import ctypes
4 import sys
5 #from wrapper import *
6
7
8 #ebook = CDLL('libebook-1.2.so.5')
9 E_CONTACT_HOMEPAGE_URL = 42
10 E_CONTACT_PHOTO = 94
11 E_CONTACT_EMAIL = 97
12 E_CONTACT_BIRTHDAY_DATE = 107
13
14 class address_book:
15         
16         def populateNames(self, recvLst, sentLst):
17                 
18                 addresses = ebook.open_addressbook('default')
19                 contacts = addresses.get_all_contacts()
20                 
21                 listX=[]
22
23                 for contact in contacts:
24                 
25                         try:
26                                 phones = contact.get_property('phone')  
27                                 phones_p=int(str(phones)[13:-1],16)
28                                 phoneList = pygobject.GList.new(phones_p)
29                                 
30                                 while phoneList.has_next():
31                                         currPhone = ctypes.string_at(phoneList.next())
32                                         for msg in recvLst:
33                                                 if currPhone[-7:] == msg.fromNum[-7:]:
34                                                         msg.setSenderName(contact.get_name())
35                                                         photo = contact.get_property('photo')
36                                                         pi = ctypes.cast(ctypes.c_void_p(hash(photo)), ctypes.POINTER(pygobject.EContactPhoto))
37                                                         
38                                                         if pi.contents.data.uri.startswith("image/"):
39                                                                 #data = string_at(pi.contents.data.inlined.data)
40                                                                 data = ctypes.string_at(pi.contents.data.inlined.data, pi.contents.data.inlined.length)
41                                                                 length = pi.contents.data.inlined.length
42                                                                 msg.setImageData(data, length)
43                                                         #else:
44                                                                 #print contact.get_name()+" : "+pi.contents.data.uri
45                                                 
46                                         for msg in sentLst:
47                                                 if currPhone[-7:] == msg.toNum[-7:]:
48                                                         msg.setRecName(contact.get_name())
49                                                         photo = contact.get_property('photo')
50                                                         pi = ctypes.cast(ctypes.c_void_p(hash(photo)), ctypes.POINTER(pygobject.EContactPhoto))
51                                                         
52                                                         if pi.contents.data.uri.startswith("image/"):
53                                                                 #data = string_at(pi.contents.data.inlined.data)
54                                                                 data = ctypes.string_at(pi.contents.data.inlined.data, pi.contents.data.inlined.length)
55                                                                 length = pi.contents.data.inlined.length
56                                                                 msg.setImageData(data, length)
57                                                                 
58                                                         
59                         except:
60                                 #print sys.exc_info()
61                                 continue