Esempio n. 1
0
    def incoming_message(self, buddy, message):
        from_jid = message.get_from()
        if from_jid != self.jid_to:
            self.reset_chat_states()
        self.jid_to = from_jid
        #self.message = message
        body = get_message_body(message)

        if body:
            stamp = get_message_timestamp(message)

            if stamp:
                did_receive = self.received_message(buddy, body, timestamp = stamp, offline = True, content_type = 'text/html')
            else:
                did_receive = self.received_message(buddy, body, content_type = 'text/html')

            if did_receive:
                Conversation.incoming_message(self)

        chatstate = self.get_message_chatstate(message, body)
        if chatstate is False:
            chatstate = None
            if pref('jabber.system_message.show_gone', type=bool, default=False):
                self.system_message(_('{name} has left the conversation.').format(name=from_jid))
        self.typing_status[buddy] = chatstate
Esempio n. 2
0
    def incoming_message(self, buddy, message):
        from_jid = message.get_from()
        if from_jid != self.jid_to:
            self.reset_chat_states()
        self.jid_to = from_jid
        #self.message = message
        body = get_message_body(message)

        if body:
            stamp = get_message_timestamp(message)

            if stamp:
                did_receive = self.received_message(buddy,
                                                    body,
                                                    timestamp=stamp,
                                                    offline=True,
                                                    content_type='text/html')
            else:
                did_receive = self.received_message(buddy,
                                                    body,
                                                    content_type='text/html')

            if did_receive:
                Conversation.incoming_message(self)

        chatstate = self.get_message_chatstate(message, body)
        if chatstate is False:
            chatstate = None
            if pref('jabber.system_message.show_gone',
                    type=bool,
                    default=False):
                self.system_message(
                    _('{name} has left the conversation.').format(
                        name=from_jid))
        self.typing_status[buddy] = chatstate
Esempio n. 3
0
    def incoming_message(self,
                         buddy,
                         message,
                         timestamp=None,
                         content_type='text/yahoortf'):
        if not isinstance(buddy, YahooBuddy):
            raise TypeError()

        # Convert formatting to HTML.
        if content_type == 'text/html':
            message = yahooformat.tohtml(message)
            message = yahooformat.fix_font_size(message)
        if content_type == 'text/yahoortf':
            message = yahooformat.tohtml(message.encode('xml'))
            content_type = 'text/html'

        # convert newlines
        message = newlines_to_brs(message)

        self.typing_status[buddy] = None

        if timestamp is None:
            kws = {}
        else:
            kws = dict(timestamp=timestamp)
        kws['content_type'] = content_type
        if self.received_message(buddy, message, **kws):
            Conversation.incoming_message(self)
Esempio n. 4
0
    def incoming_message(self, buddy, message, timestamp = None, content_type = 'text/yahoortf'):
        if not isinstance(buddy, YahooBuddy):
            raise TypeError()

        # Convert formatting to HTML.
        if content_type == 'text/html':
            message = yahooformat.tohtml(message)
            message = yahooformat.fix_font_size(message)
        if content_type == 'text/yahoortf':
            message = yahooformat.tohtml(message.encode('xml'))
            content_type = 'text/html'

        # convert newlines
        message = newlines_to_brs(message)

        self.typing_status[buddy] = None

        if timestamp is None:
            kws = {}
        else:
            kws = dict(timestamp=timestamp)
        kws['content_type'] = content_type
        if self.received_message(buddy, message, **kws):
            Conversation.incoming_message(self)