core: sendMessageTrigger now manage pre and post treatments, which happen before or after XML generation
This commit is contained in:
parent
bd3890a8f0
commit
93826f1ce8
4 changed files with 29 additions and 23 deletions
|
|
@ -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):
|
||||
|
|
|
|||
|
|
@ -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):
|
||||
|
|
|
|||
|
|
@ -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):
|
||||
|
|
|
|||
|
|
@ -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):
|
||||
|
|
|
|||
Loading…
Reference in a new issue