summaryrefslogtreecommitdiff
path: root/sleekxmpp/plugins/xep_0249
diff options
context:
space:
mode:
authorLance Stout <lancestout@gmail.com>2011-03-23 10:00:32 -0400
committerLance Stout <lancestout@gmail.com>2011-03-23 10:00:32 -0400
commit833f95b53af47903d8e4281e8d5668a5addc2383 (patch)
treedae184a3d13958d5d06b2e8a5f5759f30cb881be /sleekxmpp/plugins/xep_0249
parent4b1fadde4bd87a8763131165701c08a3035005eb (diff)
downloadslixmpp-833f95b53af47903d8e4281e8d5668a5addc2383.tar.gz
slixmpp-833f95b53af47903d8e4281e8d5668a5addc2383.tar.bz2
slixmpp-833f95b53af47903d8e4281e8d5668a5addc2383.tar.xz
slixmpp-833f95b53af47903d8e4281e8d5668a5addc2383.zip
Cleaned XEP-0249 plugin, added tests.
Diffstat (limited to 'sleekxmpp/plugins/xep_0249')
-rw-r--r--sleekxmpp/plugins/xep_0249/__init__.py8
-rw-r--r--sleekxmpp/plugins/xep_0249/invite.py44
-rw-r--r--sleekxmpp/plugins/xep_0249/stanza.py20
3 files changed, 47 insertions, 25 deletions
diff --git a/sleekxmpp/plugins/xep_0249/__init__.py b/sleekxmpp/plugins/xep_0249/__init__.py
index 4af19a2b..e88d87ac 100644
--- a/sleekxmpp/plugins/xep_0249/__init__.py
+++ b/sleekxmpp/plugins/xep_0249/__init__.py
@@ -1,2 +1,10 @@
+"""
+ SleekXMPP: The Sleek XMPP Library
+ Copyright (C) 2011 Nathanael C. Fritz, Dalek
+ This file is part of SleekXMPP.
+
+ See the file LICENSE for copying permission.
+"""
+
from sleekxmpp.plugins.xep_0249.stanza import Invite
from sleekxmpp.plugins.xep_0249.invite import xep_0249
diff --git a/sleekxmpp/plugins/xep_0249/invite.py b/sleekxmpp/plugins/xep_0249/invite.py
index 7c966f15..fdeffdea 100644
--- a/sleekxmpp/plugins/xep_0249/invite.py
+++ b/sleekxmpp/plugins/xep_0249/invite.py
@@ -1,5 +1,10 @@
-"""Direct MUC Invitation."""
+"""
+ SleekXMPP: The Sleek XMPP Library
+ Copyright (C) 2011 Nathanael C. Fritz, Dalek
+ This file is part of SleekXMPP.
+ See the file LICENSE for copying permission.
+"""
import logging
@@ -11,6 +16,7 @@ from sleekxmpp.xmlstream.handler import Callback
from sleekxmpp.xmlstream.matcher import StanzaPath
from sleekxmpp.plugins.xep_0249 import Invite
+
log = logging.getLogger(__name__)
@@ -34,15 +40,14 @@ class xep_0249(base_plugin):
def post_init(self):
base_plugin.post_init(self)
- self.xmpp.plugin['xep_0030'].add_feature(Invite.namespace)
+ self.xmpp['xep_0030'].add_feature(Invite.namespace)
- def _handle_invite(self, message):
+ def _handle_invite(self, msg):
"""
Raise an event for all invitations received.
-
"""
log.debug("Received direct muc invitation from %s to room %s",
- message['from'], message['groupchat_invite']['jid'])
+ msg['from'], msg['groupchat_invite']['jid'])
self.xmpp.event('groupchat_direct_invite', message)
@@ -52,24 +57,23 @@ class xep_0249(base_plugin):
Send a direct MUC invitation to an XMPP entity.
Arguments:
- jid -- The jid of the entity to which the inviation
- is sent
- roomjid -- the address of the groupchat room to be joined
- password -- a password needed for entry into a
- password-protected room (OPTIONAL).
- reason -- a human-readable purpose for the invitation
- (OPTIONAL).
-
+ jid -- The JID of the entity that will receive
+ the invitation
+ roomjid -- the address of the groupchat room to be joined
+ password -- a password needed for entry into a
+ password-protected room (OPTIONAL).
+ reason -- a human-readable purpose for the invitation
+ (OPTIONAL).
"""
- message = self.xmpp.Message()
- message['to'] = jid
+ msg = self.xmpp.Message()
+ msg['to'] = jid
if ifrom is not None:
- message['from'] = ifrom
- message['groupchat_invite']['jid'] = roomjid
+ msg['from'] = ifrom
+ msg['groupchat_invite']['jid'] = roomjid
if password is not None:
- message['groupchat_invite']['password'] = password
+ msg['groupchat_invite']['password'] = password
if reason is not None:
- message['groupchat_invite']['reason'] = reason
+ msg['groupchat_invite']['reason'] = reason
- return message.send()
+ return msg.send()
diff --git a/sleekxmpp/plugins/xep_0249/stanza.py b/sleekxmpp/plugins/xep_0249/stanza.py
index 43bb65d0..ba4060d7 100644
--- a/sleekxmpp/plugins/xep_0249/stanza.py
+++ b/sleekxmpp/plugins/xep_0249/stanza.py
@@ -1,7 +1,16 @@
+"""
+ SleekXMPP: The Sleek XMPP Library
+ Copyright (C) 2011 Nathanael C. Fritz, Dalek
+ This file is part of SleekXMPP.
+
+ See the file LICENSE for copying permission.
+"""
+
from sleekxmpp.xmlstream import ElementBase
class Invite(ElementBase):
+
"""
XMPP allows for an agent in an MUC room to directly invite another
user to join the chat room (as opposed to a mediated invitation
@@ -17,13 +26,14 @@ class Invite(ElementBase):
</message>
Stanza Interface:
- jid -- The JID of the groupchat room
- password -- The password used to gain entry in the room
- (optional)
- reason -- The reason for the invitation (optional)
+ jid -- The JID of the groupchat room
+ password -- The password used to gain entry in the room
+ (optional)
+ reason -- The reason for the invitation (optional)
"""
+
name = "x"
namespace = "jabber:x:conference"
plugin_attrib = "groupchat_invite"
- interfaces = ("jid", "password", "reason") \ No newline at end of file
+ interfaces = ("jid", "password", "reason")