Re-arranging for packaging prep
[theonering] / src / aliasing.py
1 import logging
2
3 import telepathy
4
5 import handle
6
7
8 class ButterflyAliasing(telepathy.server.ConnectionInterfaceAliasing):
9
10         def __init__(self):
11                 telepathy.server.ConnectionInterfaceAliasing.__init__(self)
12
13         def GetAliasFlags(self):
14                 return telepathy.constants.CONNECTION_ALIAS_FLAG_USER_SET
15
16         def RequestAliases(self, contacts):
17                 logging.debug("Called RequestAliases")
18                 return [self._get_alias(handleId) for handleId in contacts]
19
20         def GetAliases(self, contacts):
21                 logging.debug("Called GetAliases")
22
23                 result = {}
24                 for contact in contacts:
25                         result[contact] = self._get_alias(contact)
26                 return result
27
28         def SetAliases(self, aliases):
29                 for handleId, alias in aliases.iteritems():
30                         h = self.handle(telepathy.HANDLE_TYPE_CONTACT, handleId)
31                         if h != handle.create_handle(self, 'self'):
32                                 if alias == h.name:
33                                         alias = u""
34                                 contact = h.contact
35                                 if contact is None:
36                                         h.pending_alias = alias
37                                         continue
38                                 infos = {}
39                                 self.gvoice_client.update_contact_infos(contact, infos)
40                         else:
41                                 self.gvoice_client.profile.display_name = alias.encode('utf-8')
42                                 logging.info("Self alias changed to '%s'" % alias)
43                                 self.AliasesChanged(((handle.create_handle(self, 'self'), alias), ))