Working around a bug for some and providing more helpful error message for others
[theonering] / src / aliasing.py
index 1ebf4c9..ef12c7c 100644 (file)
@@ -1,5 +1,6 @@
 import logging
 
+import dbus
 import telepathy
 
 import tp
@@ -69,12 +70,14 @@ def make_pretty(phonenumber):
        >>> make_pretty("+1234")
        '+1 (234)'
        """
-       if phonenumber is None or phonenumber is "":
+       if phonenumber is None or phonenumber == "":
                return ""
 
        phonenumber = misc_utils.normalize_number(phonenumber)
 
-       if phonenumber[0] == "+":
+       if phonenumber == "":
+               return ""
+       elif phonenumber[0] == "+":
                prettynumber = _make_pretty_international(phonenumber[1:])
                if not prettynumber.startswith("+"):
                        prettynumber = "+"+prettynumber
@@ -127,9 +130,12 @@ class AliasingMixin(tp.ConnectionInterfaceAliasing):
        def GetAliases(self, contactHandleIds):
                _moduleLogger.debug("Called GetAliases")
 
-               idToAlias = dict(
-                       (handleId, self._get_alias(handleId))
-                       for handleId in contactHandleIds
+               idToAlias = dbus.Dictionary(
+                       (
+                               (handleId, self._get_alias(handleId))
+                               for handleId in contactHandleIds
+                       ),
+                       signature="us",
                )
                return idToAlias