- def _create_contact_handle(self, name):
- requestedContactId = name
-
- contacts = self._addressbook.get_contacts()
- contactsFound = [
- contactId for contactId in contacts
- if contactId == requestedContactId
- ]
-
- if 0 < len(contactsFound):
- contactId = contactsFound[0]
- if len(contactsFound) != 1:
- _moduleLogger.error("Contact ID was not unique: %s for %s" % (contactId, ))
- else:
- contactId = requestedContactId
- h = handle.create_handle(self, 'contact', contactId)
+ def _create_contact_handle(self, requestedHandleName):
+ requestedContactId, requestedContactNumber = handle.ContactHandle.from_handle_name(
+ requestedHandleName
+ )
+ h = handle.create_handle(self, 'contact', requestedContactId, requestedContactNumber)
+ return h
+
+ @gobject_utils.async
+ @gtk_toolbox.log_exception(_moduleLogger)
+ def _on_conversations_updated(self, conv, conversationIds):
+ # @todo get conversations update running
+ # @todo test conversatiuons
+ _moduleLogger.info("Incoming messages from: %r" % (conversationIds, ))
+ channelManager = self._channelManager
+ for contactId, phoneNumber in conversationIds:
+ h = handle.create_handle(self, 'contact', contactId, phoneNumber)
+ # Just let the TextChannel decide whether it should be reported to the user or not
+ channel = channelManager.channel_for_text(h)