diff options
author | Louis-Francis Ratté-Boulianne <louis-francis.ratte-boulianne@collabora.co.uk> | 2009-08-05 12:15:01 -0400 |
---|---|---|
committer | Jonny Lamb <jonny.lamb@collabora.co.uk> | 2010-03-12 10:26:48 +0000 |
commit | b255f88fad24703df573b4c8a8a08d16ee2a4c3a (patch) | |
tree | f9cf76e206c9fba6dcb44bf9a443daab67e73ced /butterfly/connection.py | |
parent | 326c086d5c93572427babaab3fdc3157df4834e3 (diff) |
Only add an extension to the handle name when the network isn't MSN
Diffstat (limited to 'butterfly/connection.py')
-rw-r--r-- | butterfly/connection.py | 26 |
1 files changed, 10 insertions, 16 deletions
diff --git a/butterfly/connection.py b/butterfly/connection.py index 350414b..d1c4203 100644 --- a/butterfly/connection.py +++ b/butterfly/connection.py @@ -28,8 +28,8 @@ import papyon.event from butterfly.presence import ButterflyPresence from butterfly.aliasing import ButterflyAliasing from butterfly.avatars import ButterflyAvatars -from butterfly.handle import ButterflyHandleFactory from butterfly.capabilities import ButterflyCapabilities +from butterfly.handle import ButterflyHandleFactory, network_to_extension from butterfly.contacts import ButterflyContacts from butterfly.channel_manager import ButterflyChannelManager from butterfly.mail_notification import ButterflyMailNotification @@ -155,23 +155,17 @@ class ButterflyConnection(telepathy.server.Connection, handles = [] for name in names: if handle_type == telepathy.HANDLE_TYPE_CONTACT: - name = name.rsplit('#', 1) - contact_name = name[0] - if len(name) > 1: - network_id = int(name[1]) - else: - network_id = papyon.NetworkID.MSN + network_id = papyon.NetworkID.MSN + for network, extension in network_to_extension.items(): + if name.endswith(extension): + name = name[0:-len(extension)] + network_id = network + break contacts = self.msn_client.address_book.contacts.\ - search_by_account(contact_name).\ + search_by_account(name).\ search_by_network_id(network_id) - - if len(contacts) > 0: - contact = contacts[0] - handle = ButterflyHandleFactory(self, 'contact', - contact.account, contact.network_id) - else: - handle = ButterflyHandleFactory(self, 'contact', - contact_name, network_id) + handle = ButterflyHandleFactory(self, 'contact', + name, network_id) elif handle_type == telepathy.HANDLE_TYPE_LIST: handle = ButterflyHandleFactory(self, 'list', name) elif handle_type == telepathy.HANDLE_TYPE_GROUP: |