""" SleekXMPP: The Sleek XMPP Library Copyright (C) 2010 Nathanael C. Fritz This file is part of SleekXMPP. See the file LICENSE for copying permission. """ from sleekxmpp.stanza import Message, Presence from sleekxmpp.xmlstream.stanzabase import registerStanzaPlugin from sleekxmpp.xmlstream.stanzabase import ElementBase, ET class Nick(ElementBase): """ XEP-0172: User Nickname allows the addition of a element in several stanza types, including and stanzas. The nickname contained in a should be the global, friendly or informal name chosen by the owner of a bare JID. The element may be included when establishing communications with new entities, such as normal XMPP users or MUC services. The nickname contained in a element will not necessarily be the same as the nickname used in a MUC. Example stanzas: The User ... The User Stanza Interface: nick -- A global, friendly or informal name chosen by a user. Methods: getNick -- Return the nickname in the element. setNick -- Add a element with the given nickname. delNick -- Remove the element. """ namespace = 'http://jabber.org/nick/nick' name = 'nick' plugin_attrib = name interfaces = set(('nick',)) def setNick(self, nick): """ Add a element with the given nickname. Arguments: nick -- A human readable, informal name. """ self.xml.text = nick def getNick(self): """Return the nickname in the element.""" return self.xml.text def delNick(self): """Remove the element.""" if self.parent is not None: self.parent().xml.remove(self.xml) registerStanzaPlugin(Message, Nick) registerStanzaPlugin(Presence, Nick)