- try:
- account = unicode(parameters['account'])
-
- # Connection init must come first
- telepathy.server.Connection.__init__(
- self,
- constants._telepathy_protocol_name_,
- account,
- constants._telepathy_implementation_name_
- )
- aliasing.AliasingMixin.__init__(self)
- simple_presence.SimplePresenceMixin.__init__(self)
- presence.PresenceMixin.__init__(self)
- capabilities.CapabilitiesMixin.__init__(self)
-
- self._manager = weakref.proxy(manager)
- self._credentials = (
- parameters['account'].encode('utf-8'),
- parameters['password'].encode('utf-8'),
- )
- self._callbackNumber = parameters['forward'].encode('utf-8')
- self._channelManager = channel_manager.ChannelManager(self)
+ account = unicode(parameters['account'])
+ encodedAccount = parameters['account'].encode('utf-8')
+ encodedPassword = parameters['password'].encode('utf-8')
+ encodedCallback = util_misc.normalize_number(parameters['forward'].encode('utf-8'))
+ if encodedCallback and not util_misc.is_valid_number(encodedCallback):
+ raise telepathy.errors.InvalidArgument("Invalid forwarding number")
+
+ # Connection init must come first
+ self.__options = TheOneRingOptions(parameters)
+ self.__session = gvoice.session.Session(
+ cookiePath = None,
+ defaults = {
+ "contacts": (self.__options.contactsPollPeriodInHours, "hours"),
+ "voicemail": (self.__options.voicemailPollPeriodInMinutes, "minutes"),
+ "texts": (self.__options.textsPollPeriodInMinutes, "minutes"),
+ },
+ )
+ tp.Connection.__init__(
+ self,
+ constants._telepathy_protocol_name_,
+ account,
+ constants._telepathy_implementation_name_
+ )
+ requests.RequestsMixin.__init__(self)
+ contacts.ContactsMixin.__init__(self)
+ aliasing.AliasingMixin.__init__(self)
+ simple_presence.SimplePresenceMixin.__init__(self)
+ presence.PresenceMixin.__init__(self)
+ capabilities.CapabilitiesMixin.__init__(self)