def _send_text_message(self, message_type, text): if self._conversation is None and self._offline_contact.presence != papyon.Presence.OFFLINE: contact = self._offline_contact logger.info( 'Contact %s still connected, inviting him to the text channel before sending message' % unicode(contact)) client = self._conn_ref().msn_client self._conversation = papyon.Conversation(client, [contact]) papyon.event.ConversationEventInterface.__init__( self, self._conversation) self._offline_contact = None self._offline_handle = None if self._conversation is not None: # Actually send the message. return ButterflyTextChannel._send_text_message( self, message_type, text) else: if message_type == telepathy.CHANNEL_TEXT_MESSAGE_TYPE_NORMAL: logger.info("Sending offline message : %s" % unicode(text)) self._oim_box_ref().send_message(self._offline_contact, text.encode("utf-8")) #FIXME : Check if the message was sent correctly? else: raise telepathy.NotImplemented( "Unhandled message type for offline contact") return True
def _send_text_message(self, message_type, text): if self._conversation is None and self._offline_contact.presence != papyon.Presence.OFFLINE: contact = self._offline_contact logger.info('Contact %s still connected, inviting him to the text channel before sending message' % unicode(contact)) client = self._conn_ref().msn_client self._conversation = papyon.Conversation(client, [contact]) papyon.event.ConversationEventInterface.__init__(self, self._conversation) self._offline_contact = None self._offline_handle = None if self._conversation is not None: # Actually send the message. return ButterflyTextChannel._send_text_message(self, message_type, text) else: if message_type == telepathy.CHANNEL_TEXT_MESSAGE_TYPE_NORMAL: logger.info("Sending offline message : %s" % unicode(text)) self._oim_box_ref().send_message(self._offline_contact, text.encode("utf-8")) #FIXME : Check if the message was sent correctly? else: raise telepathy.NotImplemented("Unhandled message type for offline contact") return True