diff options
Diffstat (limited to 'sleekxmpp/plugins/xep_0131')
-rw-r--r-- | sleekxmpp/plugins/xep_0131/__init__.py | 16 | ||||
-rw-r--r-- | sleekxmpp/plugins/xep_0131/headers.py | 41 | ||||
-rw-r--r-- | sleekxmpp/plugins/xep_0131/stanza.py | 51 |
3 files changed, 0 insertions, 108 deletions
diff --git a/sleekxmpp/plugins/xep_0131/__init__.py b/sleekxmpp/plugins/xep_0131/__init__.py deleted file mode 100644 index ec71c98d..00000000 --- a/sleekxmpp/plugins/xep_0131/__init__.py +++ /dev/null @@ -1,16 +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.plugins.base import register_plugin - -from sleekxmpp.plugins.xep_0131 import stanza -from sleekxmpp.plugins.xep_0131.stanza import Headers -from sleekxmpp.plugins.xep_0131.headers import XEP_0131 - - -register_plugin(XEP_0131) diff --git a/sleekxmpp/plugins/xep_0131/headers.py b/sleekxmpp/plugins/xep_0131/headers.py deleted file mode 100644 index 3e47541a..00000000 --- a/sleekxmpp/plugins/xep_0131/headers.py +++ /dev/null @@ -1,41 +0,0 @@ -""" - SleekXMPP: The Sleek XMPP Library - Copyright (C) 2011 Nathanael C. Fritz, Lance J.T. Stout - This file is part of SleekXMPP. - - See the file LICENSE for copying permission. -""" - -from sleekxmpp import Message, Presence -from sleekxmpp.xmlstream import register_stanza_plugin -from sleekxmpp.plugins import BasePlugin -from sleekxmpp.plugins.xep_0131 import stanza -from sleekxmpp.plugins.xep_0131.stanza import Headers - - -class XEP_0131(BasePlugin): - - name = 'xep_0131' - description = 'XEP-0131: Stanza Headers and Internet Metadata' - dependencies = set(['xep_0030']) - stanza = stanza - default_config = { - 'supported_headers': set() - } - - def plugin_init(self): - register_stanza_plugin(Message, Headers) - register_stanza_plugin(Presence, Headers) - - def plugin_end(self): - self.xmpp['xep_0030'].del_feature(feature=Headers.namespace) - for header in self.supported_headers: - self.xmpp['xep_0030'].del_feature( - feature='%s#%s' % (Headers.namespace, header)) - - def session_bind(self, jid): - self.xmpp['xep_0030'].add_feature(Headers.namespace) - for header in self.supported_headers: - self.xmpp['xep_0030'].add_feature('%s#%s' % ( - Headers.namespace, - header)) diff --git a/sleekxmpp/plugins/xep_0131/stanza.py b/sleekxmpp/plugins/xep_0131/stanza.py deleted file mode 100644 index 347adf96..00000000 --- a/sleekxmpp/plugins/xep_0131/stanza.py +++ /dev/null @@ -1,51 +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.thirdparty import OrderedDict -from sleekxmpp.xmlstream import ET, ElementBase - - -class Headers(ElementBase): - name = 'headers' - namespace = 'http://jabber.org/protocol/shim' - plugin_attrib = 'headers' - interfaces = set(['headers']) - is_extension = True - - def get_headers(self): - result = OrderedDict() - headers = self.xml.findall('{%s}header' % self.namespace) - for header in headers: - name = header.attrib.get('name', '') - value = header.text - if name in result: - if not isinstance(result[name], set): - result[name] = [result[name]] - else: - result[name] = [] - result[name].add(value) - else: - result[name] = value - return result - - def set_headers(self, values): - self.del_headers() - for name in values: - vals = values[name] - if not isinstance(vals, (list, set)): - vals = [values[name]] - for value in vals: - header = ET.Element('{%s}header' % self.namespace) - header.attrib['name'] = name - header.text = value - self.xml.append(header) - - def del_headers(self): - headers = self.xml.findall('{%s}header' % self.namespace) - for header in headers: - self.xml.remove(header) |