diff options
author | mathieui <mathieui@mathieui.net> | 2011-11-12 00:00:17 +0100 |
---|---|---|
committer | mathieui <mathieui@mathieui.net> | 2011-11-12 00:00:17 +0100 |
commit | 4d5e2d21a464e6af56e5c968490c2dea61670011 (patch) | |
tree | 6ff4dc59ba70befd65ff52328bb8e001c8ae5f44 | |
parent | 632175b79fb4d15a2358fc0604fe1bb85a076188 (diff) | |
download | poezio-4d5e2d21a464e6af56e5c968490c2dea61670011.tar.gz poezio-4d5e2d21a464e6af56e5c968490c2dea61670011.tar.bz2 poezio-4d5e2d21a464e6af56e5c968490c2dea61670011.tar.xz poezio-4d5e2d21a464e6af56e5c968490c2dea61670011.zip |
/xhtml command, Fixes #2237
-rw-r--r-- | src/tabs.py | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/tabs.py b/src/tabs.py index e0419fda..02678e7e 100644 --- a/src/tabs.py +++ b/src/tabs.py @@ -46,6 +46,7 @@ from os import getenv, path from logger import logger from datetime import datetime, timedelta +from xml.etree import cElementTree as ET SHOW_NAME = { 'dnd': _('busy'), @@ -308,6 +309,7 @@ class ChatTab(Tab): self.commands['say'] = (self.command_say, _("""Usage: /say <message>\nSay: Just send the message. Useful if you want your message to begin with a '/'."""), None) + self.commands['xhtml'] = (self.command_xhtml, _("Usage: /xhtml <custom xhtml>\nXHTML: Send custom XHTML."), None) self.chat_state = None self.update_commands() @@ -339,6 +341,29 @@ class ChatTab(Tab): self.command_say(xhtml.convert_simple_to_full_colors(txt)) self.cancel_paused_delay() + def command_xhtml(self, arg): + """" + /xhtml <custom xhtml> + """ + if not arg: + return + try: + body = xhtml.clean_text(xhtml.xhtml_to_poezio_colors(arg)) + ET.fromstring(arg) + except: + self.core.information('Could not send custom xhtml', 'Error') + return + + msg = self.core.xmpp.make_message(self.get_name()) + msg['body'] = body + msg['xhtml_im'] = arg + if isinstance(self, MucTab): + msg['type'] = 'groupchat' + if isinstance(self, ConversationTab): + self.core.add_message_to_text_buffer(self._text_buffer, body, None, self.core.own_nick) + self.refresh() + msg.send() + def send_chat_state(self, state, always_send=False): """ Send an empty chatstate message |