X-Git-Url: http://git.maemo.org/git/?p=theonering;a=blobdiff_plain;f=src%2Fconnection.py;h=2fd3632d153acaaadf2160cf8cb0937b8e438c88;hp=567d3992b379c726724d67dbb2f5d32afe960574;hb=3c03d1e6f5f53d7ae0872ed01bee50a8ac31eb8b;hpb=7912b2aa8daf492f3933d975fab97e59937981e1 diff --git a/src/connection.py b/src/connection.py index 567d399..2fd3632 100644 --- a/src/connection.py +++ b/src/connection.py @@ -4,7 +4,7 @@ import logging import telepathy import constants -import gv_backend +import gvoice import handle import channel_manager import simple_presence @@ -46,7 +46,8 @@ class TheOneRingConnection(telepathy.server.Connection, simple_presence.SimplePr self._channelManager = channel_manager.ChannelManager(self) cookieFilePath = "%s/cookies.txt" % constants._data_path_ - self._backend = gv_backend.GVDialer(cookieFilePath) + self._backend = gvoice.dialer.GVDialer(cookieFilePath) + self._addressbook = gvoice.addressbook.Addressbook(self._backend) self.set_self_handle(handle.create_handle(self, 'connection')) @@ -64,6 +65,10 @@ class TheOneRingConnection(telepathy.server.Connection, simple_presence.SimplePr return self._backend @property + def addressbook(self): + return self._addressbook + + @property def username(self): self._credentials[0] @@ -82,7 +87,7 @@ class TheOneRingConnection(telepathy.server.Connection, simple_presence.SimplePr try: self._backend.login(*self._credentials) self._backend.set_callback_number(self._callbackNumber) - except gv_backend.NetworkError: + except gvoice.dialer.NetworkError: self.StatusChanged( telepathy.CONNECTION_STATUS_DISCONNECTED, telepathy.CONNECTION_STATUS_REASON_NETWORK_ERROR @@ -155,9 +160,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 +171,16 @@ class TheOneRingConnection(telepathy.server.Connection, simple_presence.SimplePr def _create_contact_handle(self, name): requestedContactId = name - contacts = self._backend.get_contacts() + contacts = self._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)