summaryrefslogtreecommitdiff
path: root/sleekxmpp/plugins/xep_0071
diff options
context:
space:
mode:
Diffstat (limited to 'sleekxmpp/plugins/xep_0071')
-rw-r--r--sleekxmpp/plugins/xep_0071/__init__.py15
-rw-r--r--sleekxmpp/plugins/xep_0071/stanza.py81
-rw-r--r--sleekxmpp/plugins/xep_0071/xhtml_im.py30
3 files changed, 0 insertions, 126 deletions
diff --git a/sleekxmpp/plugins/xep_0071/__init__.py b/sleekxmpp/plugins/xep_0071/__init__.py
deleted file mode 100644
index c21e9265..00000000
--- a/sleekxmpp/plugins/xep_0071/__init__.py
+++ /dev/null
@@ -1,15 +0,0 @@
-"""
- SleekXMPP: The Sleek XMPP Library
- Copyright (C) 2012 Nathanael C. Fritz, Lance J.T. Stout
- This file is part of SleekXMPP.
-
- See the file LICENSE for copying permissio
-"""
-
-from sleekxmpp.plugins.base import register_plugin
-
-from sleekxmpp.plugins.xep_0071.stanza import XHTML_IM
-from sleekxmpp.plugins.xep_0071.xhtml_im import XEP_0071
-
-
-register_plugin(XEP_0071)
diff --git a/sleekxmpp/plugins/xep_0071/stanza.py b/sleekxmpp/plugins/xep_0071/stanza.py
deleted file mode 100644
index d5ff1a1b..00000000
--- a/sleekxmpp/plugins/xep_0071/stanza.py
+++ /dev/null
@@ -1,81 +0,0 @@
-"""
- SleekXMPP: The Sleek XMPP Library
- Copyright (C) 2012 Nathanael C. Fritz
- This file is part of SleekXMPP.
-
- See the file LICENSE for copying permission.
-"""
-
-from sleekxmpp.stanza import Message
-from sleekxmpp.util import unicode
-from sleekxmpp.thirdparty import OrderedDict
-from sleekxmpp.xmlstream import ElementBase, ET, register_stanza_plugin, tostring
-
-
-XHTML_NS = 'http://www.w3.org/1999/xhtml'
-
-
-class XHTML_IM(ElementBase):
-
- namespace = 'http://jabber.org/protocol/xhtml-im'
- name = 'html'
- interfaces = set(['body'])
- lang_interfaces = set(['body'])
- plugin_attrib = name
-
- def set_body(self, content, lang=None):
- if lang is None:
- lang = self.get_lang()
- self.del_body(lang)
- if lang == '*':
- for sublang, subcontent in content.items():
- self.set_body(subcontent, sublang)
- else:
- if isinstance(content, type(ET.Element('test'))):
- content = unicode(ET.tostring(content))
- else:
- content = unicode(content)
- header = '<body xmlns="%s"' % XHTML_NS
- if lang:
- header = '%s xml:lang="%s"' % (header, lang)
- content = '%s>%s</body>' % (header, content)
- xhtml = ET.fromstring(content)
- self.xml.append(xhtml)
-
- def get_body(self, lang=None):
- """Return the contents of the HTML body."""
- if lang is None:
- lang = self.get_lang()
-
- bodies = self.xml.findall('{%s}body' % XHTML_NS)
-
- if lang == '*':
- result = OrderedDict()
- for body in bodies:
- body_lang = body.attrib.get('{%s}lang' % self.xml_ns, '')
- body_result = []
- body_result.append(body.text if body.text else '')
- for child in body:
- body_result.append(tostring(child, xmlns=XHTML_NS))
- body_result.append(body.tail if body.tail else '')
- result[body_lang] = ''.join(body_result)
- return result
- else:
- for body in bodies:
- if body.attrib.get('{%s}lang' % self.xml_ns, self.get_lang()) == lang:
- result = []
- result.append(body.text if body.text else '')
- for child in body:
- result.append(tostring(child, xmlns=XHTML_NS))
- result.append(body.tail if body.tail else '')
- return ''.join(result)
- return ''
-
- def del_body(self, lang=None):
- if lang is None:
- lang = self.get_lang()
- bodies = self.xml.findall('{%s}body' % XHTML_NS)
- for body in bodies:
- if body.attrib.get('{%s}lang' % self.xml_ns, self.get_lang()) == lang:
- self.xml.remove(body)
- return
diff --git a/sleekxmpp/plugins/xep_0071/xhtml_im.py b/sleekxmpp/plugins/xep_0071/xhtml_im.py
deleted file mode 100644
index 096a00aa..00000000
--- a/sleekxmpp/plugins/xep_0071/xhtml_im.py
+++ /dev/null
@@ -1,30 +0,0 @@
-"""
- SleekXMPP: The Sleek XMPP Library
- Copyright (C) 2012 Nathanael C. Fritz, Lance J.T. Stout
- This file is part of SleekXMPP.
-
- See the file LICENSE for copying permission.
-"""
-
-
-from sleekxmpp.stanza import Message
-from sleekxmpp.plugins import BasePlugin
-from sleekxmpp.xmlstream import register_stanza_plugin
-from sleekxmpp.plugins.xep_0071 import stanza, XHTML_IM
-
-
-class XEP_0071(BasePlugin):
-
- name = 'xep_0071'
- description = 'XEP-0071: XHTML-IM'
- dependencies = set(['xep_0030'])
- stanza = stanza
-
- def plugin_init(self):
- register_stanza_plugin(Message, XHTML_IM)
-
- def session_bind(self, jid):
- self.xmpp['xep_0030'].add_feature(feature=XHTML_IM.namespace)
-
- def plugin_end(self):
- self.xmpp['xep_0030'].del_feature(feature=XHTML_IM.namespace)