"""
    SleekXMPP: The Sleek XMPP Library
    Copyright (C) 2010  Nathanael C. Fritz
    This file is part of SleekXMPP.

    See the file LICENSE 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'
	interfaces = set(('html',))
	plugin_attrib_map = set()
	plugin_xml_map = set()

	def setHtml(self, html):
		if isinstance(html, str):
			html = ET.XML(html)
		if html.tag != '{http://www.w3.org/1999/xhtml}body':
			body = ET.Element('{http://www.w3.org/1999/xhtml}body')
			body.append(html)
			self.xml.append(body)
		else:
			self.xml.append(html)
	
	def getHtml(self):
		html = self.xml.find('{http://www.w3.org/1999/xhtml}body')
		if html is None: return ''
		return html
	
	def delHtml(self):
		if self.parent is not None:
			self.parent().xml.remove(self.xml)