slixmpp/sleekxmpp/stanza/htmlim.py

36 lines
938 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.txt for copying permission.
"""
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)