slixmpp/sleekxmpp/stanza/htmlim.py

36 lines
934 B
Python
Raw Normal View History

2010-03-26 21:32:16 +00:00
"""
SleekXMPP: The Sleek XMPP Library
Copyright (C) 2010 Nathanael C. Fritz
This file is part of SleekXMPP.
See the file LICENSE for copying permission.
2010-03-26 21:32:16 +00:00
"""
from .. xmlstream.stanzabase import registerStanzaPlugin, ElementBase, ET
class HTMLIM(ElementBase):
namespace = 'http://jabber.org/protocol/xhtml-im'
name = 'html'
plugin_attrib = 'html'
2010-04-08 06:56:44 +00:00
interfaces = set(('html',))
plugin_attrib_map = set()
plugin_xml_map = set()
def setHtml(self, html):
2010-04-08 06:56:44 +00:00
if isinstance(html, str):
html = ET.XML(html)
2010-04-08 06:56:44 +00:00
if html.tag != '{http://www.w3.org/1999/xhtml}body':
body = ET.Element('{http://www.w3.org/1999/xhtml}body')
body.append(html)
2010-04-08 06:56:44 +00:00
self.xml.append(body)
else:
2010-04-08 06:56:44 +00:00
self.xml.append(html)
def getHtml(self):
html = self.xml.find('{http://www.w3.org/1999/xhtml}body')
if html is None: return ''
2010-04-08 06:56:44 +00:00
return html
def delHtml(self):
2010-05-12 20:45:36 +00:00
if self.parent is not None:
self.parent().xml.remove(self.xml)