Package phones ::
Module com_motov3mm
|
|
1
2
3
4
5
6
7
8
9
10 """Communicate with Motorola phones using AT commands"""
11 import time
12
13 import common
14 import com_motov710m as v710m
15 import com_motov3m as v3m
16 import prototypes
17 import p_motov3m
18 import helpids
19
20 parentphone=v710m.Phone
22 """ Talk to a Motorola V3mM phone"""
23 desc='Moto-V3mM'
24 helpid=helpids.ID_PHONE_MOTOV3MM
25 protocolclass=p_motov3m
26 serialsname='motov3mm'
27 MODEOBEX='modeobex'
28
29 builtinringtones=(
30 (0, ('Silent',)),
31 (5, ('Vibe Dot', 'Vibe Dash', 'Vibe Dot Dot', 'Vibe Dot Dash',
32 'Vibe Pulse')),
33 )
34
35 - def __init__(self, logtarget, commport):
38
50
73
75 """Retrieve ringtones data"""
76 self.log('Reading ringtones')
77 self.setmode(self.MODEOBEX)
78 _res={}
79 _rt_index=fundamentals.get('ringtone-index', {})
80 for _entry in _rt_index.values():
81 if _entry.has_key('filename'):
82 try:
83 _res[_entry['name']]=self.obex.getfilecontents(
84 self.protocolclass.OBEXName(_entry['filename']))
85 except:
86 self.log('Failed to read media file %s'%_entry['filename'])
87 fundamentals['ringtone']=_res
88 self.setmode(self.MODEMODEM)
89 return fundamentals
90
92 """Save ringtones to the phone"""
93 self.log('Writing ringtones to the phone')
94 try:
95 _del_list, _new_list=self._get_del_new_list('ringtone-index',
96 'ringtone',
97 merge,
98 fundamentals,
99 frozenset(['ringers']))
100
101 self.setmode(self.MODEOBEX)
102 self._del_files('ringtone-index', 'audio',
103 _del_list, fundamentals)
104
105 self._add_files('ringtone-index', 'ringtone', 'audio',
106 _new_list, fundamentals)
107 except:
108 if __debug__:
109 self.setmode(self.MODEMODEM)
110 raise
111 self.setmode(self.MODEMODEM)
112 return fundamentals
113
115 """Save wallpapers to the phone"""
116 self.log('Writing wallpapers to the phone')
117 try:
118 _del_list, _new_list=self._get_del_new_list('wallpaper-index',
119 'wallpapers',
120 merge,
121 fundamentals,
122 frozenset(['images']))
123
124 self.setmode(self.MODEOBEX)
125 self._del_files('wallpaper-index', 'picture',
126 _del_list, fundamentals)
127
128 self._add_files('wallpaper-index', 'wallpapers', 'picture',
129 _new_list, fundamentals)
130 except:
131 if __debug__:
132 self.setmode(self.MODEMODEM)
133 raise
134 self.setmode(self.MODEMODEM)
135 return fundamentals
136
137
138 parentprofile=v3m.Profile
140 serialsname=Phone.serialsname
141 phone_model='V3mM'
142
143 _supportedsyncs=(
144 ('phonebook', 'read', None),
145 ('phonebook', 'write', 'OVERWRITE'),
146 ('calendar', 'read', None),
147 ('calendar', 'write', 'OVERWRITE'),
148 ('ringtone', 'read', None),
149 ('ringtone', 'write', None),
150 ('ringtone', 'write', 'OVERWRITE'),
151 ('wallpaper', 'read', None),
152 ('wallpaper', 'write', None),
153 ('wallpaper', 'write', 'OVERWRITE'),
154 ('sms', 'read', None),
155 )
156