def recv_msg_text(self, msg): name = msg.name textmsg = MSNTextMessage.from_net(msg.payload) buddy = self.buddies[name] = self.protocol.get_buddy(name) self.typing_status[buddy] = None if hasattr(textmsg, 'html'): message = textmsg.html().replace('\n', '<br />') content_type = 'text/html' else: message = textmsg content_type = 'text/plain' service_channel = offline = msg.payload.get("Service-Channel", None) sms = service_channel == 'IM/Mobile' offline = service_channel == "IM/Offline" timestamp_str = msg.payload.get('Original-Arrival-Time', None) if timestamp_str is None: timestamp = None else: timestamp = datetime.datetime.fromtimestamp(SOAPServices.strptime_highres(timestamp_str)) did_receive = self.received_message(buddy, message, sms = sms, content_type = content_type, offline = offline, timestamp = timestamp) if name != self.self_buddy.name and did_receive: Conversation.incoming_message(self)
def on_message_recv(self, name, msg, sms = False): buddy = self.buddies[name] = self.protocol.get_buddy(name) self.typing_status[buddy] = None if hasattr(msg, 'html'): message = msg.html().replace('\n', '<br />') content_type = 'text/html' else: message = msg content_type = 'text/plain' did_receive = self.received_message(buddy, message, sms = sms, content_type = content_type) if name != self.self_buddy.name and did_receive: Conversation.incoming_message(self)