summaryrefslogtreecommitdiff
path: root/sleekxmpp/plugins
diff options
context:
space:
mode:
authorLance Stout <lancestout@gmail.com>2012-07-23 02:13:19 -0700
committerLance Stout <lancestout@gmail.com>2012-07-24 01:43:20 -0700
commit6c4b01db8a2a1acc3f7cb455edf2f145bdcbbf28 (patch)
tree4d2e4cdc5958a19b60669b516fc0f3fe3f2d18d4 /sleekxmpp/plugins
parentd06897a635b95a62b6a14687f577a7018cab3912 (diff)
downloadslixmpp-6c4b01db8a2a1acc3f7cb455edf2f145bdcbbf28.tar.gz
slixmpp-6c4b01db8a2a1acc3f7cb455edf2f145bdcbbf28.tar.bz2
slixmpp-6c4b01db8a2a1acc3f7cb455edf2f145bdcbbf28.tar.xz
slixmpp-6c4b01db8a2a1acc3f7cb455edf2f145bdcbbf28.zip
Add plugin for advertising XEP-0106 support.
Diffstat (limited to 'sleekxmpp/plugins')
-rw-r--r--sleekxmpp/plugins/__init__.py1
-rw-r--r--sleekxmpp/plugins/xep_0106.py26
2 files changed, 27 insertions, 0 deletions
diff --git a/sleekxmpp/plugins/__init__.py b/sleekxmpp/plugins/__init__.py
index 77be8870..615ef7eb 100644
--- a/sleekxmpp/plugins/__init__.py
+++ b/sleekxmpp/plugins/__init__.py
@@ -36,6 +36,7 @@ __all__ = [
'xep_0085', # Chat State Notifications
'xep_0086', # Legacy Error Codes
'xep_0092', # Software Version
+ 'xep_0106', # JID Escaping
'xep_0107', # User Mood
'xep_0108', # User Activity
'xep_0115', # Entity Capabilities
diff --git a/sleekxmpp/plugins/xep_0106.py b/sleekxmpp/plugins/xep_0106.py
new file mode 100644
index 00000000..1859a77b
--- /dev/null
+++ b/sleekxmpp/plugins/xep_0106.py
@@ -0,0 +1,26 @@
+"""
+ 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 import BasePlugin, register_plugin
+
+
+class XEP_0106(BasePlugin):
+
+ name = 'xep_0106'
+ description = 'XEP-0106: JID Escaping'
+ dependencies = set(['xep_0030'])
+
+ def session_bind(self, jid):
+ self.xmpp['xep_0030'].add_feature(feature='jid\\20escaping')
+
+ def plugin_end(self):
+ self.xmpp['xep_0030'].del_feature(feature='jid\\20escaping')
+
+
+register_plugin(XEP_0106)