core: sendMessageTrigger now manage pre and post treatments, which happen before or after XML generation

This commit is contained in:
Goffi 2014-03-22 15:34:05 +01:00
commit 93826f1ce8
4 changed files with 29 additions and 23 deletions

View file

@ -46,9 +46,9 @@ class TextCommands(object):
self.host = host
host.trigger.add("sendMessage", self.sendMessageTrigger)
def sendMessageTrigger(self, mess_data, treatments, profile):
def sendMessageTrigger(self, mess_data, pre_xml_treatments, post_xml_treatments, profile):
""" Install SendMessage command hook """
treatments.addCallback(self._sendMessageCmdHook, profile)
pre_xml_treatments.addCallback(self._sendMessageCmdHook, profile)
return True
def _sendMessageCmdHook(self, mess_data, profile):

View file

@ -76,7 +76,7 @@ class XEP_0033(object):
host.trigger.add("sendMessage", self.sendMessageTrigger, TriggerManager.MIN_PRIORITY)
host.trigger.add("MessageReceived", self.messageReceivedTrigger)
def sendMessageTrigger(self, mess_data, treatments, profile):
def sendMessageTrigger(self, mess_data, pre_xml_treatments, post_xml_treatments, profile):
"""Process the XEP-0033 related data to be sent"""
def treatment(mess_data):
@ -101,7 +101,7 @@ class XEP_0033(object):
d.addCallbacks(discoCallback, lambda dummy: discoCallback(None))
return d
treatments.addCallback(treatment)
post_xml_treatments.addCallback(treatment)
return True
def sendAndStoreMessage(self, mess_data, entries, profile):

View file

@ -130,11 +130,11 @@ class XEP_0071(object):
pass
return True
def sendMessageTrigger(self, mess_data, treatments, profile):
def sendMessageTrigger(self, mess_data, pre_xml_treatments, post_xml_treatments, profile):
""" Check presence of rich text in extra
"""
if 'rich' in mess_data['extra'] or 'xhtml' in mess_data['extra']:
treatments.addCallback(self._sendMessageAddRich, profile)
post_xml_treatments.addCallback(self._sendMessageAddRich, profile)
return True
def _purgeStyle(self, styles_raw):

View file

@ -175,7 +175,7 @@ class XEP_0085(object):
break
return True
def sendMessageTrigger(self, mess_data, treatments, profile):
def sendMessageTrigger(self, mess_data, pre_xml_treatments, post_xml_treatments, profile):
"""
Eventually add the chat state to the message and initiate
the state machine when sending an "active" state.
@ -198,7 +198,7 @@ class XEP_0085(object):
message.addElement(state, NS_CHAT_STATES)
return mess_data
treatments.addCallback(treatment)
post_xml_treatments.addCallback(treatment)
return True
def __checkActivation(self, to_jid, forceEntityData, profile):