import logging
+import dbus
import telepathy
import tp
-import gtk_toolbox
-import util.misc as util_misc
+import util.misc as misc_utils
import handle
-_moduleLogger = logging.getLogger('aliasing')
+_moduleLogger = logging.getLogger(__name__)
-def _make_pretty_with_areacodde(phonenumber):
+def _make_pretty_with_areacode(phonenumber):
prettynumber = "(%s)" % (phonenumber[0:3], )
if 3 < len(phonenumber):
prettynumber += " %s" % (phonenumber[3:6], )
def _make_pretty_international(phonenumber):
+ prettynumber = phonenumber
if phonenumber.startswith("0"):
prettynumber = "+%s " % (phonenumber[0:3], )
if 3 < len(phonenumber):
- prettynumber += _make_pretty_with_areacodde(phonenumber[3:])
- if phonenumber.startswith("1"):
+ prettynumber += _make_pretty_with_areacode(phonenumber[3:])
+ elif phonenumber.startswith("1"):
prettynumber = "1 "
- prettynumber += _make_pretty_with_areacodde(phonenumber[1:])
+ prettynumber += _make_pretty_with_areacode(phonenumber[1:])
return prettynumber
if phonenumber is None or phonenumber is "":
return ""
- phonenumber = util_misc.normalize_number(phonenumber)
+ phonenumber = misc_utils.normalize_number(phonenumber)
if phonenumber[0] == "+":
prettynumber = _make_pretty_international(phonenumber[1:])
elif 8 < len(phonenumber) and phonenumber[0] in ("0", "1"):
prettynumber = _make_pretty_international(phonenumber)
elif 7 < len(phonenumber):
- prettynumber = _make_pretty_with_areacodde(phonenumber)
+ prettynumber = _make_pretty_with_areacode(phonenumber)
elif 3 < len(phonenumber):
prettynumber = _make_pretty_local(phonenumber)
else:
"""
raise NotImplementedError("Abstract property called")
- def handle(self, handleType, handleId):
+ def get_handle_by_id(self, handleType, handleId):
"""
@abstract
"""
raise NotImplementedError("Abstract function called")
- @gtk_toolbox.log_exception(_moduleLogger)
+ @misc_utils.log_exception(_moduleLogger)
def GetAliasFlags(self):
return 0
- @gtk_toolbox.log_exception(_moduleLogger)
+ @misc_utils.log_exception(_moduleLogger)
def RequestAliases(self, contactHandleIds):
_moduleLogger.debug("Called RequestAliases")
return [self._get_alias(handleId) for handleId in contactHandleIds]
- @gtk_toolbox.log_exception(_moduleLogger)
+ @misc_utils.log_exception(_moduleLogger)
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
- @gtk_toolbox.log_exception(_moduleLogger)
+ @misc_utils.log_exception(_moduleLogger)
def SetAliases(self, aliases):
_moduleLogger.debug("Called SetAliases")
# first validate that no other handle types are included
+ handleId, alias = None, None
for handleId, alias in aliases.iteritems():
h = self.get_handle_by_id(telepathy.HANDLE_TYPE_CONTACT, handleId)
if isinstance(h, handle.ConnectionHandle):
else:
raise telepathy.errors.PermissionDenied("No user customizable aliases")
- uglyNumber = util_misc.normalize_number(alias)
+ uglyNumber = misc_utils.normalize_number(alias)
if len(uglyNumber) == 0:
# Reset to the original from login if one was provided
uglyNumber = self.callbackNumberParameter
- if not util_misc.is_valid_number(uglyNumber):
+ if not misc_utils.is_valid_number(uglyNumber):
raise telepathy.errors.InvalidArgument("Invalid phone number %r" % (uglyNumber, ))
# Update callback
return userAlias
else:
number = h.phoneNumber
- if number:
+ try:
contactAlias = self.session.addressbook.get_contact_name(number)
- else:
+ except KeyError:
contactAlias = make_pretty(number)
return contactAlias