diff options
Diffstat (limited to 'sleekxmpp/plugins/xep_0172')
-rw-r--r-- | sleekxmpp/plugins/xep_0172/__init__.py | 16 | ||||
-rw-r--r-- | sleekxmpp/plugins/xep_0172/stanza.py | 67 | ||||
-rw-r--r-- | sleekxmpp/plugins/xep_0172/user_nick.py | 92 |
3 files changed, 0 insertions, 175 deletions
diff --git a/sleekxmpp/plugins/xep_0172/__init__.py b/sleekxmpp/plugins/xep_0172/__init__.py deleted file mode 100644 index aa7b9f72..00000000 --- a/sleekxmpp/plugins/xep_0172/__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_0172 import stanza -from sleekxmpp.plugins.xep_0172.stanza import UserNick -from sleekxmpp.plugins.xep_0172.user_nick import XEP_0172 - - -register_plugin(XEP_0172) diff --git a/sleekxmpp/plugins/xep_0172/stanza.py b/sleekxmpp/plugins/xep_0172/stanza.py deleted file mode 100644 index 110c237b..00000000 --- a/sleekxmpp/plugins/xep_0172/stanza.py +++ /dev/null @@ -1,67 +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.xmlstream import ElementBase, ET - - -class UserNick(ElementBase): - - """ - XEP-0172: User Nickname allows the addition of a <nick> element - in several stanza types, including <message> and <presence> stanzas. - - The nickname contained in a <nick> should be the global, friendly or - informal name chosen by the owner of a bare JID. The <nick> element - may be included when establishing communications with new entities, - such as normal XMPP users or MUC services. - - The nickname contained in a <nick> element will not necessarily be - the same as the nickname used in a MUC. - - Example stanzas: - <message to="user@example.com"> - <nick xmlns="http://jabber.org/nick/nick">The User</nick> - <body>...</body> - </message> - - <presence to="otheruser@example.com" type="subscribe"> - <nick xmlns="http://jabber.org/nick/nick">The User</nick> - </presence> - - Stanza Interface: - nick -- A global, friendly or informal name chosen by a user. - - Methods: - setup -- Overrides ElementBase.setup. - get_nick -- Return the nickname in the <nick> element. - set_nick -- Add a <nick> element with the given nickname. - del_nick -- Remove the <nick> element. - """ - - namespace = 'http://jabber.org/protocol/nick' - name = 'nick' - plugin_attrib = name - interfaces = set(('nick',)) - - def set_nick(self, nick): - """ - Add a <nick> element with the given nickname. - - Arguments: - nick -- A human readable, informal name. - """ - self.xml.text = nick - - def get_nick(self): - """Return the nickname in the <nick> element.""" - return self.xml.text - - def del_nick(self): - """Remove the <nick> element.""" - if self.parent is not None: - self.parent().xml.remove(self.xml) diff --git a/sleekxmpp/plugins/xep_0172/user_nick.py b/sleekxmpp/plugins/xep_0172/user_nick.py deleted file mode 100644 index cab13c15..00000000 --- a/sleekxmpp/plugins/xep_0172/user_nick.py +++ /dev/null @@ -1,92 +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. -""" - -import logging - -from sleekxmpp.stanza.message import Message -from sleekxmpp.stanza.presence import Presence -from sleekxmpp.xmlstream import register_stanza_plugin -from sleekxmpp.xmlstream.handler import Callback -from sleekxmpp.xmlstream.matcher import MatchXPath -from sleekxmpp.plugins.base import BasePlugin -from sleekxmpp.plugins.xep_0172 import stanza, UserNick - - -log = logging.getLogger(__name__) - - -class XEP_0172(BasePlugin): - - """ - XEP-0172: User Nickname - """ - - name = 'xep_0172' - description = 'XEP-0172: User Nickname' - dependencies = set(['xep_0163']) - stanza = stanza - - def plugin_init(self): - register_stanza_plugin(Message, UserNick) - register_stanza_plugin(Presence, UserNick) - - def plugin_end(self): - self.xmpp['xep_0030'].del_feature(feature=UserNick.namespace) - self.xmpp['xep_0163'].remove_interest(UserNick.namespace) - - def session_bind(self, jid): - self.xmpp['xep_0163'].register_pep('user_nick', UserNick) - - def publish_nick(self, nick=None, options=None, ifrom=None, block=True, - callback=None, timeout=None): - """ - Publish the user's current nick. - - Arguments: - nick -- The user nickname to publish. - options -- Optional form of publish options. - ifrom -- Specify the sender's JID. - block -- Specify if the send call will block until a response - is received, or a timeout occurs. Defaults to True. - timeout -- The length of time (in seconds) to wait for a response - before exiting the send call if blocking is used. - Defaults to sleekxmpp.xmlstream.RESPONSE_TIMEOUT - callback -- Optional reference to a stream handler function. Will - be executed when a reply stanza is received. - """ - nickname = UserNick() - nickname['nick'] = nick - return self.xmpp['xep_0163'].publish(nickname, - node=UserNick.namespace, - options=options, - ifrom=ifrom, - block=block, - callback=callback, - timeout=timeout) - - def stop(self, ifrom=None, block=True, callback=None, timeout=None): - """ - Clear existing user nick information to stop notifications. - - Arguments: - ifrom -- Specify the sender's JID. - block -- Specify if the send call will block until a response - is received, or a timeout occurs. Defaults to True. - timeout -- The length of time (in seconds) to wait for a response - before exiting the send call if blocking is used. - Defaults to sleekxmpp.xmlstream.RESPONSE_TIMEOUT - callback -- Optional reference to a stream handler function. Will - be executed when a reply stanza is received. - """ - nick = UserNick() - return self.xmpp['xep_0163'].publish(nick, - node=UserNick.namespace, - ifrom=ifrom, - block=block, - callback=callback, - timeout=timeout) |