Package phones ::
Module com_sk6100
|
|
1
2
3
4
5
6
7
8
9
10 import com_phone
11 import com_brew
12 import prototypes
13 import p_sk6100
14
15 -class Phone(com_phone.Phone, com_brew.BrewProtocol):
16 """Talk to SK Music Slider"""
17
18 desc="SK Music Slider"
19 protocolclass=p_sk6100
20 serialsname='sk6100'
21
22
23 phonetypes = [ 'cell', 'home', 'office', 'fax', 'pager' ]
24
25 - def __init__(self, logtarget, commport):
28
40
42
43
44 phonebuf = prototypes.buffer(self.getfilecontents('SKY/PBK/number.pbk'))
45 phones = self.protocolclass.phones()
46 phones.readfrombuffer(phonebuf, logtitle="Phonenumbers")
47
48
49 phones = [phone for phone in phones.records if phone.owner_id]
50
51
52 pbook={}
53 bookbuf = prototypes.buffer(self.getfilecontents('SKY/PBK/book.pbk'))
54 entries = self.protocolclass.wholebook()
55 entries.readfrombuffer(bookbuf, logtitle="Names read")
56
57 for entry in entries.pbentries:
58
59 if not entry.record:
60 continue
61
62
63 group_name = "Group not recognised"
64 for group in results['groups']:
65 if group.group_id == entry.group_id:
66 group_name = group.name
67 break
68
69 pbook[entry.slot] = {
70 'names': [{'title': '', 'first': '',
71 'last': '', 'full': entry.name, 'nickname': ''}],
72 'categories': [{'category': group_name}],
73 'numbers': [{'number': phone.number,
74 'type': self.phonetypes[phone.type - 1]}
75 for phone in phones
76 if phone.owner_id == entry.slot],
77 'serials': [{'sourcetype': self.serialsname}]
78 }
79
80 results['phonebook'] = pbook
81 results['categories'] = [group.name for group in results['groups']]
82 return pbook
83
86
89
92
99