[telepathy-butterfly/master] Don't update the alias if we set it to the exact same thing

Louis-Francis Ratté-Boulianne louis-francis.ratte-boulianne at collabora.co.uk
Fri Jul 24 13:21:22 PDT 2009


---
 butterfly/aliasing.py |   14 ++++++++++----
 1 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/butterfly/aliasing.py b/butterfly/aliasing.py
index d894b72..c46fb9b 100644
--- a/butterfly/aliasing.py
+++ b/butterfly/aliasing.py
@@ -65,11 +65,17 @@ class ButterflyAliasing(
                         (not contact.is_member(papyon.Membership.FORWARD)):
                     handle.pending_alias = alias
                     continue
-                infos = {ContactGeneral.ANNOTATIONS : \
-                            {ContactAnnotations.NICKNAME : alias.encode('utf-8')}
+
+                new_alias = alias.encode("utf-8")
+                old_alias = contact.infos.get(ContactGeneral.ANNOTATIONS, {}).\
+                    get(ContactAnnotations.NICKNAME, None)
+                if new_alias == old_alias:
+                    continue
+
+                infos = {ContactGeneral.ANNOTATIONS :
+                            {ContactAnnotations.NICKNAME : new_alias}
                         }
-                self.msn_client.address_book.\
-                    update_contact_infos(contact, infos)
+                self.msn_client.address_book.update_contact_infos(contact, infos)
             else:
                 self.msn_client.profile.display_name = alias.encode('utf-8')
                 logger.info("Self alias changed to '%s'" % alias)
-- 
1.5.6.5




More information about the telepathy-commits mailing list