X-Git-Url: http://git.maemo.org/git/?p=theonering;a=blobdiff_plain;f=src%2Fconnection.py;h=6ff64d8b59928e903a6b677054feaf2fb063c0aa;hp=da96e4434dc226c022bb4dee4723afa2c01299b8;hb=00b3702cd38fb5654609f9a822c660928b977ef7;hpb=a6b38779bb4204f033c322cd0688115b47652b74 diff --git a/src/connection.py b/src/connection.py index da96e44..6ff64d8 100644 --- a/src/connection.py +++ b/src/connection.py @@ -7,13 +7,12 @@ import constants import gvoice import handle import channel_manager -import simple_presence _moduleLogger = logging.getLogger("connection") -class TheOneRingConnection(telepathy.server.Connection, simple_presence.SimplePresenceMixin): +class TheOneRingConnection(telepathy.server.Connection): MANDATORY_PARAMETERS = { 'account' : 's', @@ -46,7 +45,7 @@ class TheOneRingConnection(telepathy.server.Connection, simple_presence.SimplePr self._channelManager = channel_manager.ChannelManager(self) cookieFilePath = "%s/cookies.txt" % constants._data_path_ - self._backend = gvoice.dialer.GVDialer(cookieFilePath) + self._session = gvoice.session.Session(cookieFilePath) self.set_self_handle(handle.create_handle(self, 'connection')) @@ -60,8 +59,8 @@ class TheOneRingConnection(telepathy.server.Connection, simple_presence.SimplePr return self._manager @property - def gvoice_backend(self): - return self._backend + def session(self): + return self._session @property def username(self): @@ -80,9 +79,9 @@ class TheOneRingConnection(telepathy.server.Connection, simple_presence.SimplePr telepathy.CONNECTION_STATUS_REASON_REQUESTED ) try: - self._backend.login(*self._credentials) - self._backend.set_callback_number(self._callbackNumber) - except gvoice.dialer.NetworkError: + self.session.login(*self._credentials) + self.session.backend.set_callback_number(self._callbackNumber) + except gvoice.backend.NetworkError: self.StatusChanged( telepathy.CONNECTION_STATUS_DISCONNECTED, telepathy.CONNECTION_STATUS_REASON_NETWORK_ERROR @@ -103,7 +102,7 @@ class TheOneRingConnection(telepathy.server.Connection, simple_presence.SimplePr For org.freedesktop.telepathy.Connection """ try: - self._backend.logout() + self.session.logout() _moduleLogger.info("Disconnected") except Exception: _moduleLogger.exception("Disconnecting Failed") @@ -155,9 +154,8 @@ class TheOneRingConnection(telepathy.server.Connection, simple_presence.SimplePr if handleType == telepathy.HANDLE_TYPE_CONTACT: h = self._create_contact_handle(name) elif handleType == telepathy.HANDLE_TYPE_LIST: + # Support only server side (immutable) lists h = handle.create_handle(self, 'list', name) - elif handleType == telepathy.HANDLE_TYPE_GROUP: - h = handle.create_handle(self, 'group', name) else: raise telepathy.NotAvailable('Handle type unsupported %d' % handleType) handles.append(h.id) @@ -167,16 +165,16 @@ class TheOneRingConnection(telepathy.server.Connection, simple_presence.SimplePr def _create_contact_handle(self, name): requestedContactId = name - contacts = self._backend.get_contacts() + contacts = self.session.addressbook.get_contacts() contactsFound = [ - (contactId, contactName) for (contactId, contactName) in contacts + contactId for contactId in contacts if contactId == requestedContactId ] if 0 < len(contactsFound): - contactId, contactName = contactsFound[0] + contactId = contactsFound[0] if len(contactsFound) != 1: - _moduleLogger.error("Contact ID was not unique: %s for %s" % (contactId, contactName)) + _moduleLogger.error("Contact ID was not unique: %s for %s" % (contactId, )) else: - contactId, contactName = requestedContactId, "" - h = handle.create_handle(self, 'contact', contactId, contactName) + contactId = requestedContactId + h = handle.create_handle(self, 'contact', contactId)