Rename to slixmpp
This commit is contained in:
		
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -6,7 +6,7 @@ docs/_build/ | ||||
| *.swp | ||||
| .tox/ | ||||
| .coverage | ||||
| sleekxmpp.egg-info/ | ||||
| slixmpp.egg-info/ | ||||
| .ropeproject/ | ||||
| 4913 | ||||
| *~ | ||||
|   | ||||
							
								
								
									
										97
									
								
								README.rst
									
									
									
									
									
								
							
							
						
						
									
										97
									
								
								README.rst
									
									
									
									
									
								
							| @@ -1,76 +1,12 @@ | ||||
| SleekXMPP | ||||
| Slixmpp | ||||
| ######### | ||||
|  | ||||
| SleekXMPP is an MIT licensed XMPP library for Python 2.6/3.1+, | ||||
| and is featured in examples in | ||||
| `XMPP: The Definitive Guide <http://oreilly.com/catalog/9780596521271>`_  | ||||
| by Kevin Smith, Remko Tronçon, and Peter Saint-Andre. If you've arrived | ||||
| here from reading the Definitive Guide, please see the notes on updating | ||||
| the examples to the latest version of SleekXMPP. | ||||
| Slixmpp is an MIT licensed XMPP library for Python 3.4+. It is a fork of | ||||
| SleekXMPP. | ||||
|  | ||||
| SleekXMPP's design goals and philosphy are: | ||||
|  | ||||
| **Low number of dependencies** | ||||
|     Installing and using SleekXMPP should be as simple as possible, without | ||||
|     having to deal with long dependency chains. | ||||
|  | ||||
|     As part of reducing the number of dependencies, some third party | ||||
|     modules are included with SleekXMPP in the ``thirdparty`` directory. | ||||
|     Imports from this module first try to import an existing installed | ||||
|     version before loading the packaged version, when possible. | ||||
|  | ||||
| **Every XEP as a plugin** | ||||
|     Following Python's "batteries included" approach, the goal is to | ||||
|     provide support for all currently active XEPs (final and draft). Since | ||||
|     adding XEP support is done through easy to create plugins, the hope is | ||||
|     to also provide a solid base for implementing and creating experimental | ||||
|     XEPs. | ||||
|  | ||||
| **Rewarding to work with** | ||||
|     As much as possible, SleekXMPP should allow things to "just work" using | ||||
|     sensible defaults and appropriate abstractions. XML can be ugly to work | ||||
|     with, but it doesn't have to be that way. | ||||
|  | ||||
|  | ||||
| Get the Code | ||||
| ------------ | ||||
|  | ||||
| Get the latest stable version from PyPI:: | ||||
|  | ||||
|     pip install sleekxmpp | ||||
|  | ||||
| The latest source code for SleekXMPP may be found on `Github | ||||
| <http://github.com/fritzy/SleekXMPP>`_. Releases can be found in the | ||||
| ``master`` branch, while the latest development version is in the | ||||
| ``develop`` branch. | ||||
|  | ||||
| **Latest Release** | ||||
|     - `1.3.1 <http://github.com/fritzy/SleekXMPP/zipball/1.3.1>`_ | ||||
|  | ||||
| **Develop Releases** | ||||
|     - `Latest Develop Version <http://github.com/fritzy/SleekXMPP/zipball/develop>`_ | ||||
|  | ||||
|  | ||||
| Installing DNSPython | ||||
| --------------------- | ||||
| If you are using Python3 and wish to use dnspython, you will have to checkout and | ||||
| install the ``python3`` branch:: | ||||
|  | ||||
|     git clone http://github.com/rthalley/dnspython | ||||
|     cd dnspython | ||||
|     git checkout python3 | ||||
|     python3 setup.py install | ||||
|  | ||||
| Discussion | ||||
| ---------- | ||||
| A mailing list and XMPP chat room are available for discussing and getting | ||||
| help with SleekXMPP. | ||||
|  | ||||
| **Mailing List** | ||||
|     `SleekXMPP Discussion on Google Groups <http://groups.google.com/group/sleekxmpp-discussion>`_ | ||||
|  | ||||
| **Chat** | ||||
|     `sleek@conference.jabber.org <xmpp:sleek@conference.jabber.org?join>`_ | ||||
| Slixmpp's goals is to only rewrite the core of the library (the low level | ||||
| socket handling, the timers, the events dispatching) in order to remove all | ||||
| threads. | ||||
|  | ||||
|  | ||||
| Documentation and Testing | ||||
| @@ -83,22 +19,22 @@ be in ``docs/_build/html``:: | ||||
|     make html | ||||
|     open _build/html/index.html | ||||
|  | ||||
| To run the test suite for SleekXMPP:: | ||||
| To run the test suite for Slixmpp:: | ||||
|  | ||||
|     python testall.py | ||||
|  | ||||
|  | ||||
| The SleekXMPP Boilerplate | ||||
| The Slixmpp Boilerplate | ||||
| ------------------------- | ||||
| Projects using SleekXMPP tend to follow a basic pattern for setting up client/component | ||||
| connections and configuration. Here is the gist of the boilerplate needed for a SleekXMPP | ||||
| Projects using Slixmpp tend to follow a basic pattern for setting up client/component | ||||
| connections and configuration. Here is the gist of the boilerplate needed for a Slixmpp | ||||
| based project. See the documetation or examples directory for more detailed archetypes for | ||||
| SleekXMPP projects:: | ||||
| Slixmpp projects:: | ||||
|  | ||||
|     import logging | ||||
|  | ||||
|     from sleekxmpp import ClientXMPP | ||||
|     from sleekxmpp.exceptions import IqError, IqTimeout | ||||
|     from slixmpp import ClientXMPP | ||||
|     from slixmpp.exceptions import IqError, IqTimeout | ||||
|  | ||||
|  | ||||
|     class EchoBot(ClientXMPP): | ||||
| @@ -155,8 +91,15 @@ SleekXMPP projects:: | ||||
|         xmpp.process(block=True) | ||||
|  | ||||
|  | ||||
| Slixmpp Credits | ||||
| --------------- | ||||
|  | ||||
| **Maintainer of the slixmpp fork:** Florent Le Coz | ||||
|     `louiz@louiz.org <xmpp:louiz@louiz.org?message>`_, | ||||
|  | ||||
| Credits | ||||
| ------- | ||||
|  | ||||
| **Main Author:** Nathan Fritz | ||||
|     `fritzy@netflint.net <xmpp:fritzy@netflint.net?message>`_,  | ||||
|     `@fritzy <http://twitter.com/fritzy>`_ | ||||
|   | ||||
| @@ -72,17 +72,17 @@ qthelp: | ||||
| 	@echo | ||||
| 	@echo "Build finished; now you can run "qcollectiongenerator" with the" \ | ||||
| 	      ".qhcp project file in $(BUILDDIR)/qthelp, like this:" | ||||
| 	@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/SleekXMPP.qhcp" | ||||
| 	@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Slixmpp.qhcp" | ||||
| 	@echo "To view the help file:" | ||||
| 	@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/SleekXMPP.qhc" | ||||
| 	@echo "# assistant -collectionFile $(BUILDDIR)/qthelp/Slixmpp.qhc" | ||||
|  | ||||
| devhelp: | ||||
| 	$(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp | ||||
| 	@echo | ||||
| 	@echo "Build finished." | ||||
| 	@echo "To view the help file:" | ||||
| 	@echo "# mkdir -p $$HOME/.local/share/devhelp/SleekXMPP" | ||||
| 	@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/SleekXMPP" | ||||
| 	@echo "# mkdir -p $$HOME/.local/share/devhelp/Slixmpp" | ||||
| 	@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Slixmpp" | ||||
| 	@echo "# devhelp" | ||||
|  | ||||
| epub: | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| BaseXMPP | ||||
| ======== | ||||
|  | ||||
| .. module:: sleekxmpp.basexmpp | ||||
| .. module:: slixmpp.basexmpp | ||||
|  | ||||
| .. autoclass:: BaseXMPP | ||||
|     :members: | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| ClientXMPP | ||||
| ========== | ||||
|  | ||||
| .. module:: sleekxmpp.clientxmpp | ||||
| .. module:: slixmpp.clientxmpp | ||||
|  | ||||
| .. autoclass:: ClientXMPP | ||||
|     :members: | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| ComponentXMPP | ||||
| ============= | ||||
|  | ||||
| .. module:: sleekxmpp.componentxmpp | ||||
| .. module:: slixmpp.componentxmpp | ||||
|  | ||||
| .. autoclass:: ComponentXMPP | ||||
|     :members: | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| Exceptions | ||||
| ========== | ||||
|  | ||||
| .. module:: sleekxmpp.exceptions | ||||
| .. module:: slixmpp.exceptions | ||||
|  | ||||
|      | ||||
| .. autoexception:: XMPPError | ||||
|   | ||||
| @@ -1,4 +1,4 @@ | ||||
| .. module:: sleekxmpp.xmlstream.filesocket | ||||
| .. module:: slixmpp.xmlstream.filesocket | ||||
|  | ||||
| .. _filesocket: | ||||
|  | ||||
|   | ||||
| @@ -3,14 +3,14 @@ Stanza Handlers | ||||
|  | ||||
| The Basic Handler | ||||
| ----------------- | ||||
| .. module:: sleekxmpp.xmlstream.handler.base | ||||
| .. module:: slixmpp.xmlstream.handler.base | ||||
|  | ||||
| .. autoclass:: BaseHandler | ||||
|     :members: | ||||
|  | ||||
| Callback | ||||
| -------- | ||||
| .. module:: sleekxmpp.xmlstream.handler.callback | ||||
| .. module:: slixmpp.xmlstream.handler.callback | ||||
|  | ||||
| .. autoclass:: Callback | ||||
|     :members: | ||||
| @@ -18,7 +18,7 @@ Callback | ||||
|  | ||||
| Waiter | ||||
| ------ | ||||
| .. module:: sleekxmpp.xmlstream.handler.waiter | ||||
| .. module:: slixmpp.xmlstream.handler.waiter | ||||
|  | ||||
| .. autoclass:: Waiter | ||||
|     :members: | ||||
|   | ||||
| @@ -1,7 +1,7 @@ | ||||
| Jabber IDs (JID) | ||||
| ================= | ||||
|  | ||||
| .. module:: sleekxmpp.xmlstream.jid | ||||
| .. module:: slixmpp.xmlstream.jid | ||||
|  | ||||
| .. autoclass:: JID | ||||
|     :members: | ||||
|   | ||||
| @@ -3,7 +3,7 @@ Stanza Matchers | ||||
|  | ||||
| The Basic Matcher | ||||
| ----------------- | ||||
| .. module:: sleekxmpp.xmlstream.matcher.base | ||||
| .. module:: slixmpp.xmlstream.matcher.base | ||||
|  | ||||
| .. autoclass:: MatcherBase | ||||
|     :members: | ||||
| @@ -11,7 +11,7 @@ The Basic Matcher | ||||
|  | ||||
| ID Matching | ||||
| ----------- | ||||
| .. module:: sleekxmpp.xmlstream.matcher.id | ||||
| .. module:: slixmpp.xmlstream.matcher.id | ||||
|  | ||||
| .. autoclass:: MatcherId | ||||
|     :members: | ||||
| @@ -19,7 +19,7 @@ ID Matching | ||||
|  | ||||
| Stanza Path Matching | ||||
| -------------------- | ||||
| .. module:: sleekxmpp.xmlstream.matcher.stanzapath | ||||
| .. module:: slixmpp.xmlstream.matcher.stanzapath | ||||
|  | ||||
| .. autoclass:: StanzaPath | ||||
|     :members: | ||||
| @@ -27,7 +27,7 @@ Stanza Path Matching | ||||
|  | ||||
| XPath | ||||
| ----- | ||||
| .. module:: sleekxmpp.xmlstream.matcher.xpath | ||||
| .. module:: slixmpp.xmlstream.matcher.xpath | ||||
|  | ||||
| .. autoclass:: MatchXPath | ||||
|     :members: | ||||
| @@ -35,7 +35,7 @@ XPath | ||||
|  | ||||
| XMLMask | ||||
| ------- | ||||
| .. module:: sleekxmpp.xmlstream.matcher.xmlmask | ||||
| .. module:: slixmpp.xmlstream.matcher.xmlmask | ||||
|  | ||||
| .. autoclass:: MatchXMLMask | ||||
|     :members: | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| Scheduler | ||||
| ========= | ||||
|  | ||||
| .. module:: sleekxmpp.xmlstream.scheduler | ||||
| .. module:: slixmpp.xmlstream.scheduler | ||||
|  | ||||
| .. autoclass:: Task | ||||
|     :members: | ||||
|   | ||||
| @@ -4,9 +4,9 @@ | ||||
| Stanza Objects | ||||
| ============== | ||||
|  | ||||
| .. module:: sleekxmpp.xmlstream.stanzabase | ||||
| .. module:: slixmpp.xmlstream.stanzabase | ||||
|  | ||||
| The :mod:`~sleekmxpp.xmlstream.stanzabase` module provides a wrapper for the | ||||
| The :mod:`~slixmpp.xmlstream.stanzabase` module provides a wrapper for the | ||||
| standard :mod:`~xml.etree.ElementTree` module that makes working with XML | ||||
| less painful. Instead of having to manually move up and down an element | ||||
| tree and insert subelements and attributes, you can interact with an object | ||||
| @@ -52,9 +52,9 @@ elements of the original XML chunk. | ||||
| .. seealso:: | ||||
|     :ref:`create-stanza-interfaces`. | ||||
|  | ||||
| Because the :mod:`~sleekxmpp.xmlstream.stanzabase` module was developed | ||||
| Because the :mod:`~slixmpp.xmlstream.stanzabase` module was developed | ||||
| as part of an `XMPP <http://xmpp.org>`_ library, these chunks of XML are | ||||
| referred to as :term:`stanzas <stanza>`, and in SleekXMPP we refer to a | ||||
| referred to as :term:`stanzas <stanza>`, and in Slixmpp we refer to a | ||||
| subclass of :class:`ElementBase` which defines the interfaces needed for | ||||
| interacting with a given :term:`stanza` a :term:`stanza object`. | ||||
|  | ||||
| @@ -72,7 +72,7 @@ plugin stanza object. Here is an example: | ||||
|  | ||||
|     <iq type="result"> | ||||
|       <query xmlns="http://jabber.org/protocol/disco#info"> | ||||
|         <identity category="client" type="bot" name="SleekXMPP Bot" /> | ||||
|         <identity category="client" type="bot" name="Slixmpp Bot" /> | ||||
|       </query> | ||||
|     </iq> | ||||
|  | ||||
| @@ -84,13 +84,13 @@ we can access the plugin as so:: | ||||
|  | ||||
|     >>> iq['disco_info'] | ||||
|     '<query xmlns="http://jabber.org/protocol/disco#info"> | ||||
|       <identity category="client" type="bot" name="SleekXMPP Bot" /> | ||||
|       <identity category="client" type="bot" name="Slixmpp Bot" /> | ||||
|     </query>' | ||||
|  | ||||
| We can then drill down through the plugin object's interfaces as desired:: | ||||
|  | ||||
|     >>> iq['disco_info']['identities'] | ||||
|     [('client', 'bot', 'SleekXMPP Bot')] | ||||
|     [('client', 'bot', 'Slixmpp Bot')] | ||||
|  | ||||
| Plugins may also add new interfaces to the parent stanza object as if they | ||||
| had been defined by the parent directly, and can also override the behaviour | ||||
|   | ||||
| @@ -1,18 +1,18 @@ | ||||
| .. module:: sleekxmpp.xmlstream.tostring | ||||
| .. module:: slixmpp.xmlstream.tostring | ||||
|  | ||||
| .. _tostring: | ||||
|  | ||||
| XML Serialization | ||||
| ================= | ||||
|  | ||||
| Since the XML layer of SleekXMPP is based on :mod:`~xml.etree.ElementTree`, | ||||
| Since the XML layer of Slixmpp is based on :mod:`~xml.etree.ElementTree`, | ||||
| why not just use the built-in :func:`~xml.etree.ElementTree.tostring` | ||||
| method? The answer is that using that method produces ugly results when | ||||
| using namespaces. The :func:`tostring()` method used here intelligently | ||||
| hides namespaces when able and does not introduce excessive namespace | ||||
| prefixes:: | ||||
|  | ||||
|     >>> from sleekxmpp.xmlstream.tostring import tostring | ||||
|     >>> from slixmpp.xmlstream.tostring import tostring | ||||
|     >>> from xml.etree import cElementTree as ET | ||||
|     >>> xml = ET.fromstring('<foo xmlns="bar"><baz /></foo>') | ||||
|     >>> ET.tostring(xml) | ||||
| @@ -25,7 +25,7 @@ produce unexpected results depending on how the :func:`tostring()` method | ||||
| is invoked. For example, when sending XML on the wire, the main XMPP | ||||
| stanzas with their namespace of ``jabber:client`` will not include the | ||||
| namespace because that is already declared by the stream header. But, if | ||||
| you create a :class:`~sleekxmpp.stanza.message.Message` instance and dump | ||||
| you create a :class:`~slixmpp.stanza.message.Message` instance and dump | ||||
| it to the terminal, the ``jabber:client`` namespace will appear. | ||||
|  | ||||
| .. autofunction:: tostring | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| XML Stream | ||||
| ========== | ||||
|  | ||||
| .. module:: sleekxmpp.xmlstream.xmlstream | ||||
| .. module:: slixmpp.xmlstream.xmlstream | ||||
|  | ||||
| .. autoexception:: RestartStream | ||||
|  | ||||
|   | ||||
| @@ -1,9 +1,9 @@ | ||||
| .. index:: XMLStream, BaseXMPP, ClientXMPP, ComponentXMPP | ||||
|  | ||||
| SleekXMPP Architecture | ||||
| Slixmpp Architecture | ||||
| ====================== | ||||
|  | ||||
| The core of SleekXMPP is contained in four classes: ``XMLStream``, | ||||
| The core of Slixmpp is contained in four classes: ``XMLStream``, | ||||
| ``BaseXMPP``, ``ClientXMPP``, and ``ComponentXMPP``. Along side this | ||||
| stack is a library for working with XML objects that eliminates most | ||||
| of the tedium of creating/manipulating XML. | ||||
| @@ -17,7 +17,7 @@ of the tedium of creating/manipulating XML. | ||||
|  | ||||
| The Foundation: XMLStream | ||||
| ------------------------- | ||||
| :class:`~sleekxmpp.xmlstream.xmlstream.XMLStream` is a mostly XMPP-agnostic | ||||
| :class:`~slixmpp.xmlstream.xmlstream.XMLStream` is a mostly XMPP-agnostic | ||||
| class whose purpose is to read and write from a bi-directional XML stream. | ||||
| It also allows for callback functions to execute when XML matching given | ||||
| patterns is received; these callbacks are also referred to as :term:`stream | ||||
| @@ -26,7 +26,7 @@ which can be triggered either manually or on a timed schedule. | ||||
|  | ||||
| The Main Threads | ||||
| ~~~~~~~~~~~~~~~~ | ||||
| :class:`~sleekxmpp.xmlstream.xmlstream.XMLStream` instances run using at | ||||
| :class:`~slixmpp.xmlstream.xmlstream.XMLStream` instances run using at | ||||
| least three background threads: the send thread, the read thread, and the | ||||
| scheduler thread. The send thread is in charge of monitoring the send queue | ||||
| and writing text to the outgoing XML stream. The read thread pulls text off | ||||
| @@ -34,7 +34,7 @@ of the incoming XML stream and stores the results in an event queue. The | ||||
| scheduler thread is used to emit events after a given period of time. | ||||
|  | ||||
| Additionally, the main event processing loop may be executed in its | ||||
| own thread if SleekXMPP is being used in the background for another | ||||
| own thread if Slixmpp is being used in the background for another | ||||
| application. | ||||
|  | ||||
| Short-lived threads may also be spawned as requested for threaded | ||||
| @@ -61,10 +61,10 @@ when this bit of XML is received (with an assumed namespace of | ||||
|    new object is determined using a map of namespaced element names to | ||||
|    classes. | ||||
|  | ||||
|    Our incoming XML is thus turned into a :class:`~sleekxmpp.stanza.Message` | ||||
|    Our incoming XML is thus turned into a :class:`~slixmpp.stanza.Message` | ||||
|    :term:`stanza object` because the namespaced element name | ||||
|    ``{jabber:client}message`` is associated with the class | ||||
|    :class:`~sleekxmpp.stanza.Message`. | ||||
|    :class:`~slixmpp.stanza.Message`. | ||||
|  | ||||
| 2. **Match stanza objects to callbacks.** | ||||
|  | ||||
| @@ -73,14 +73,14 @@ when this bit of XML is received (with an assumed namespace of | ||||
|    :term:`stanza object` is paired with a reference to the handler and | ||||
|    placed into the event queue. | ||||
|  | ||||
|    Our :class:`~sleekxmpp.stanza.Message` object is thus paired with the message stanza handler | ||||
|    Our :class:`~slixmpp.stanza.Message` object is thus paired with the message stanza handler | ||||
|    :meth:`BaseXMPP._handle_message` to create the tuple:: | ||||
|  | ||||
|        ('stanza', stanza_obj, handler) | ||||
|  | ||||
| 3. **Process the event queue.** | ||||
|  | ||||
|    The event queue is the heart of SleekXMPP. Nearly every action that | ||||
|    The event queue is the heart of Slixmpp. Nearly every action that | ||||
|    takes place is first inserted into this queue, whether that be received | ||||
|    stanzas, custom events, or scheduled events. | ||||
|  | ||||
| @@ -97,7 +97,7 @@ when this bit of XML is received (with an assumed namespace of | ||||
|  | ||||
|    Since a :term:`stream handler` shouldn't block, if extensive processing | ||||
|    for a stanza is required (such as needing to send and receive an | ||||
|    :class:`~sleekxmpp.stanza.Iq` stanza), then custom events must be used. | ||||
|    :class:`~slixmpp.stanza.Iq` stanza), then custom events must be used. | ||||
|    These events are not explicitly tied to the incoming XML stream and may | ||||
|    be raised at any time. Importantly, these events may be handled in their | ||||
|    own thread. | ||||
| @@ -148,8 +148,8 @@ when this bit of XML is received (with an assumed namespace of | ||||
|  | ||||
| Raising XMPP Awareness: BaseXMPP | ||||
| -------------------------------- | ||||
| While :class:`~sleekxmpp.xmlstream.xmlstream.XMLStream` attempts to shy away | ||||
| from anything too XMPP specific, :class:`~sleekxmpp.basexmpp.BaseXMPP`'s | ||||
| While :class:`~slixmpp.xmlstream.xmlstream.XMLStream` attempts to shy away | ||||
| from anything too XMPP specific, :class:`~slixmpp.basexmpp.BaseXMPP`'s | ||||
| sole purpose is to provide foundational support for sending and receiving | ||||
| XMPP stanzas. This support includes registering the basic message, | ||||
| presence, and iq stanzas, methods for creating and sending stanzas, and | ||||
| @@ -157,14 +157,14 @@ default handlers for incoming messages and keeping track of presence | ||||
| notifications. | ||||
|  | ||||
| The plugin system for adding new XEP support is also maintained by | ||||
| :class:`~sleekxmpp.basexmpp.BaseXMPP`. | ||||
| :class:`~slixmpp.basexmpp.BaseXMPP`. | ||||
|  | ||||
| .. index:: ClientXMPP, BaseXMPP | ||||
|  | ||||
| ClientXMPP | ||||
| ---------- | ||||
| :class:`~sleekxmpp.clientxmpp.ClientXMPP` extends | ||||
| :class:`~sleekxmpp.clientxmpp.BaseXMPP` with additional logic for connecting | ||||
| :class:`~slixmpp.clientxmpp.ClientXMPP` extends | ||||
| :class:`~slixmpp.clientxmpp.BaseXMPP` with additional logic for connecting | ||||
| to an XMPP server by performing DNS lookups. It also adds support for stream | ||||
| features such as STARTTLS and SASL. | ||||
|  | ||||
| @@ -172,6 +172,6 @@ features such as STARTTLS and SASL. | ||||
|  | ||||
| ComponentXMPP | ||||
| ------------- | ||||
| :class:`~sleekxmpp.componentxmpp.ComponentXMPP` is only a thin layer on top of | ||||
| :class:`~sleekxmpp.basexmpp.BaseXMPP` that implements the component handshake | ||||
| :class:`~slixmpp.componentxmpp.ComponentXMPP` is only a thin layer on top of | ||||
| :class:`~slixmpp.basexmpp.BaseXMPP` that implements the component handshake | ||||
| protocol. | ||||
|   | ||||
							
								
								
									
										12
									
								
								docs/conf.py
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								docs/conf.py
									
									
									
									
									
								
							| @@ -1,6 +1,6 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
| # | ||||
| # SleekXMPP documentation build configuration file, created by | ||||
| # Slixmpp documentation build configuration file, created by | ||||
| # sphinx-quickstart on Tue Aug  9 22:27:06 2011. | ||||
| # | ||||
| # This file is execfile()d with the current directory set to its containing dir. | ||||
| @@ -40,7 +40,7 @@ source_suffix = '.rst' | ||||
| master_doc = 'index' | ||||
|  | ||||
| # General information about the project. | ||||
| project = u'SleekXMPP' | ||||
| project = u'Slixmpp' | ||||
| copyright = u'2011, Nathan Fritz, Lance Stout' | ||||
|  | ||||
| # The version info for the project you're documenting, acts as replacement for | ||||
| @@ -105,7 +105,7 @@ html_theme = 'haiku' | ||||
|  | ||||
| # The name for this set of Sphinx documents.  If None, it defaults to | ||||
| # "<project> v<release> documentation". | ||||
| html_title = 'SleekXMPP' | ||||
| html_title = 'Slixmpp' | ||||
|  | ||||
| # A shorter title for the navigation bar.  Default is the same as html_title. | ||||
| html_short_title = '%s Documentation' % release | ||||
| @@ -168,7 +168,7 @@ html_additional_pages = { | ||||
| #html_file_suffix = None | ||||
|  | ||||
| # Output file base name for HTML help builder. | ||||
| htmlhelp_basename = 'SleekXMPPdoc' | ||||
| htmlhelp_basename = 'Slixmppdoc' | ||||
|  | ||||
|  | ||||
| # -- Options for LaTeX output -------------------------------------------------- | ||||
| @@ -182,7 +182,7 @@ htmlhelp_basename = 'SleekXMPPdoc' | ||||
| # Grouping the document tree into LaTeX files. List of tuples | ||||
| # (source start file, target name, title, author, documentclass [howto/manual]). | ||||
| latex_documents = [ | ||||
|   ('index', 'SleekXMPP.tex', u'SleekXMPP Documentation', | ||||
|   ('index', 'Slixmpp.tex', u'Slixmpp Documentation', | ||||
|    u'Nathan Fritz, Lance Stout', 'manual'), | ||||
| ] | ||||
|  | ||||
| @@ -215,7 +215,7 @@ latex_documents = [ | ||||
| # One entry per manual page. List of tuples | ||||
| # (source start file, name, description, authors, manual section). | ||||
| man_pages = [ | ||||
|     ('index', 'sleekxmpp', u'SleekXMPP Documentation', | ||||
|     ('index', 'slixmpp', u'Slixmpp Documentation', | ||||
|      [u'Nathan Fritz, Lance Stout'], 1) | ||||
| ] | ||||
|  | ||||
|   | ||||
| @@ -1,10 +1,10 @@ | ||||
| .. _create-plugin: | ||||
|  | ||||
| Creating a SleekXMPP Plugin | ||||
| Creating a Slixmpp Plugin | ||||
| =========================== | ||||
|  | ||||
| One of the goals of SleekXMPP is to provide support for every draft or final | ||||
| XMPP extension (`XEP <http://xmpp.org/extensions/>`_). To do this, SleekXMPP has a | ||||
| One of the goals of Slixmpp is to provide support for every draft or final | ||||
| XMPP extension (`XEP <http://xmpp.org/extensions/>`_). To do this, Slixmpp has a | ||||
| plugin mechanism for adding the functionalities required by each XEP. But even | ||||
| though plugins were made to quickly implement and prototype the official XMPP | ||||
| extensions, there is no reason you can't create your own plugin to implement | ||||
| @@ -14,11 +14,11 @@ This guide will help walk you through the steps to | ||||
| implement a rudimentary version of `XEP-0077 In-band | ||||
| Registration <http://xmpp.org/extensions/xep-0077.html>`_. In-band registration | ||||
| was implemented in example 14-6 (page 223) of `XMPP: The Definitive | ||||
| Guide <http://oreilly.com/catalog/9780596521271>`_ because there was no SleekXMPP | ||||
| Guide <http://oreilly.com/catalog/9780596521271>`_ because there was no Slixmpp | ||||
| plugin for XEP-0077 at the time of writing. We will partially fix that issue | ||||
| here by turning the example implementation from *XMPP: The Definitive Guide* | ||||
| into a plugin. Again, note that this will not a complete implementation, and a | ||||
| different, more robust, official plugin for XEP-0077 may be added to SleekXMPP | ||||
| different, more robust, official plugin for XEP-0077 may be added to Slixmpp | ||||
| in the future. | ||||
|  | ||||
| .. note:: | ||||
| @@ -29,10 +29,10 @@ in the future. | ||||
|  | ||||
| First Steps | ||||
| ----------- | ||||
| Every plugin inherits from the class :mod:`base_plugin <sleekxmpp.plugins.base.base_plugin>`, | ||||
| Every plugin inherits from the class :mod:`base_plugin <slixmpp.plugins.base.base_plugin>`, | ||||
| and must include a ``plugin_init`` method. While the | ||||
| plugins distributed with SleekXMPP must be placed in the plugins directory | ||||
| ``sleekxmpp/plugins`` to be loaded, custom plugins may be loaded from any | ||||
| plugins distributed with Slixmpp must be placed in the plugins directory | ||||
| ``slixmpp/plugins`` to be loaded, custom plugins may be loaded from any | ||||
| module. To do so, use the following form when registering the plugin: | ||||
|  | ||||
| .. code-block:: python | ||||
| @@ -42,7 +42,7 @@ module. To do so, use the following form when registering the plugin: | ||||
| The plugin name must be the same as the plugin's class name. | ||||
|   | ||||
| Now, we can open our favorite text editors and create ``xep_0077.py`` in | ||||
| ``SleekXMPP/sleekxmpp/plugins``. We want to do some basic house-keeping and | ||||
| ``Slixmpp/slixmpp/plugins``. We want to do some basic house-keeping and | ||||
| declare the name and description of the XEP we are implementing. If you | ||||
| are creating your own custom plugin, you don't need to include the ``xep`` | ||||
| attribute. | ||||
| @@ -50,13 +50,13 @@ attribute. | ||||
| .. code-block:: python | ||||
|  | ||||
|     """ | ||||
|     Creating a SleekXMPP Plugin | ||||
|     Creating a Slixmpp Plugin | ||||
|  | ||||
|     This is a minimal implementation of XEP-0077 to serve | ||||
|     as a tutorial for creating SleekXMPP plugins. | ||||
|     as a tutorial for creating Slixmpp plugins. | ||||
|     """ | ||||
|  | ||||
|     from sleekxmpp.plugins.base import base_plugin | ||||
|     from slixmpp.plugins.base import base_plugin | ||||
|  | ||||
|     class xep_0077(base_plugin): | ||||
|         """ | ||||
| @@ -68,7 +68,7 @@ attribute. | ||||
|             self.xep = "0077" | ||||
|  | ||||
| Now that we have a basic plugin, we need to edit | ||||
| ``sleekxmpp/plugins/__init__.py`` to include our new plugin by adding | ||||
| ``slixmpp/plugins/__init__.py`` to include our new plugin by adding | ||||
| ``'xep_0077'`` to the ``__all__`` declaration. | ||||
|  | ||||
| Interacting with Other Plugins | ||||
| @@ -83,12 +83,12 @@ finish activating the plugin. | ||||
|  | ||||
| The ``post_init`` method needs to call ``base_plugin.post_init(self)`` | ||||
| which will mark that ``post_init`` has been called for the plugin. Once the | ||||
| SleekXMPP object begins processing, ``post_init`` will be called on any plugins | ||||
| Slixmpp object begins processing, ``post_init`` will be called on any plugins | ||||
| that have not already run ``post_init``. This allows you to register plugins and | ||||
| their dependencies without needing to worry about the order in which you do so. | ||||
|  | ||||
| **Note:** by adding this call we have introduced a dependency on the XEP-0030 | ||||
| plugin. Be sure to register ``'xep_0030'`` as well as ``'xep_0077'``. SleekXMPP | ||||
| plugin. Be sure to register ``'xep_0030'`` as well as ``'xep_0077'``. Slixmpp | ||||
| does not automatically load plugin dependencies for you. | ||||
|  | ||||
| .. code-block:: python | ||||
| @@ -141,7 +141,7 @@ behaviour: | ||||
|     **Note:** The accessor methods currently use title case, and not camel case. | ||||
|     Thus if you need to access an item named ``"methodName"`` you will need to | ||||
|     use ``getMethodname``. This naming convention might change to full camel | ||||
|     case in a future version of SleekXMPP. | ||||
|     case in a future version of Slixmpp. | ||||
|  | ||||
| * ``sub_interfaces`` | ||||
|     A subset of ``interfaces``, but these keys map to the text of any | ||||
| @@ -156,8 +156,8 @@ behaviour: | ||||
|  | ||||
| .. code-block:: python | ||||
|  | ||||
|     from sleekxmpp.xmlstream import ElementBase, ET, JID, register_stanza_plugin | ||||
|     from sleekxmpp import Iq | ||||
|     from slixmpp.xmlstream import ElementBase, ET, JID, register_stanza_plugin | ||||
|     from slixmpp import Iq | ||||
|  | ||||
|     class Registration(ElementBase): | ||||
|         namespace = 'jabber:iq:register' | ||||
| @@ -209,7 +209,7 @@ registration to our ``plugin_init`` method. | ||||
|  | ||||
| Also, we need to associate our ``Registration`` class with IQ stanzas; | ||||
| that requires the use of the ``register_stanza_plugin`` function (in | ||||
| ``sleekxmpp.xmlstream.stanzabase``) which takes the class of a parent stanza | ||||
| ``slixmpp.xmlstream.stanzabase``) which takes the class of a parent stanza | ||||
| type followed by the substanza type. In our case, the parent stanza is an IQ | ||||
| stanza, and the substanza is our registration query. | ||||
|  | ||||
| @@ -484,12 +484,12 @@ and that we specified the form fields we wish to use with | ||||
|  | ||||
| .. code-block:: python | ||||
|  | ||||
|     import sleekxmpp.componentxmpp | ||||
|     import slixmpp.componentxmpp | ||||
|  | ||||
|     class Example(sleekxmpp.componentxmpp.ComponentXMPP): | ||||
|     class Example(slixmpp.componentxmpp.ComponentXMPP): | ||||
|  | ||||
|         def __init__(self, jid, password): | ||||
|             sleekxmpp.componentxmpp.ComponentXMPP.__init__(self, jid, password, 'localhost', 8888) | ||||
|             slixmpp.componentxmpp.ComponentXMPP.__init__(self, jid, password, 'localhost', 8888) | ||||
|  | ||||
|             self.registerPlugin('xep_0030') | ||||
|             self.registerPlugin('xep_0077') | ||||
| @@ -517,17 +517,17 @@ with some additional registration fields implemented. | ||||
| .. code-block:: python | ||||
|  | ||||
|     """ | ||||
|     Creating a SleekXMPP Plugin | ||||
|     Creating a Slixmpp Plugin | ||||
|  | ||||
|     This is a minimal implementation of XEP-0077 to serve | ||||
|     as a tutorial for creating SleekXMPP plugins. | ||||
|     as a tutorial for creating Slixmpp plugins. | ||||
|     """ | ||||
|  | ||||
|     from sleekxmpp.plugins.base import base_plugin | ||||
|     from sleekxmpp.xmlstream.handler.callback import Callback | ||||
|     from sleekxmpp.xmlstream.matcher.xpath import MatchXPath | ||||
|     from sleekxmpp.xmlstream import ElementBase, ET, JID, register_stanza_plugin | ||||
|     from sleekxmpp import Iq | ||||
|     from slixmpp.plugins.base import base_plugin | ||||
|     from slixmpp.xmlstream.handler.callback import Callback | ||||
|     from slixmpp.xmlstream.matcher.xpath import MatchXPath | ||||
|     from slixmpp.xmlstream import ElementBase, ET, JID, register_stanza_plugin | ||||
|     from slixmpp import Iq | ||||
|     import copy | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -6,33 +6,33 @@ Event Index | ||||
|  | ||||
|     connected | ||||
|         - **Data:** ``{}`` | ||||
|         - **Source:** :py:class:`~sleekxmpp.xmlstream.XMLstream` | ||||
|         - **Source:** :py:class:`~slixmpp.xmlstream.XMLstream` | ||||
|  | ||||
|         Signal that a connection has been made with the XMPP server, but a session | ||||
|         has not yet been established. | ||||
|  | ||||
|     connection_failed | ||||
|         - **Data:** ``{}`` or ``Failure Stanza`` if available | ||||
|         - **Source:** :py:class:`~sleekxmpp.xmlstream.XMLstream` | ||||
|         - **Source:** :py:class:`~slixmpp.xmlstream.XMLstream` | ||||
|  | ||||
|         Signal that a connection can not be established after number of attempts. | ||||
|  | ||||
|     changed_status | ||||
|         - **Data:** :py:class:`~sleekxmpp.Presence` | ||||
|         - **Source:** :py:class:`~sleekxmpp.roster.item.RosterItem` | ||||
|         - **Data:** :py:class:`~slixmpp.Presence` | ||||
|         - **Source:** :py:class:`~slixmpp.roster.item.RosterItem` | ||||
|  | ||||
|         Triggered when a presence stanza is received from a JID with a show type | ||||
|         different than the last presence stanza from the same JID. | ||||
|  | ||||
|     changed_subscription | ||||
|         - **Data:** :py:class:`~sleekxmpp.Presence` | ||||
|         - **Source:** :py:class:`~sleekxmpp.BaseXMPP` | ||||
|         - **Data:** :py:class:`~slixmpp.Presence` | ||||
|         - **Source:** :py:class:`~slixmpp.BaseXMPP` | ||||
|  | ||||
|         Triggered whenever a presence stanza with a type of ``subscribe``, | ||||
|         ``subscribed``, ``unsubscribe``, or ``unsubscribed`` is received. | ||||
|  | ||||
|         Note that if the values ``xmpp.auto_authorize`` and ``xmpp.auto_subscribe`` | ||||
|         are set to ``True`` or ``False``, and not ``None``, then SleekXMPP will | ||||
|         are set to ``True`` or ``False``, and not ``None``, then Slixmpp will | ||||
|         either accept or reject all subscription requests before your event handlers | ||||
|         are called. Set these values to ``None`` if you wish to make more complex | ||||
|         subscription decisions. | ||||
| @@ -58,20 +58,20 @@ Event Index | ||||
|         - **Source:** | ||||
|  | ||||
|     disco_info | ||||
|         - **Data:** :py:class:`~sleekxmpp.plugins.xep_0030.stanza.DiscoInfo` | ||||
|         - **Source:** :py:class:`~sleekxmpp.plugins.xep_0030.disco.xep_0030` | ||||
|         - **Data:** :py:class:`~slixmpp.plugins.xep_0030.stanza.DiscoInfo` | ||||
|         - **Source:** :py:class:`~slixmpp.plugins.xep_0030.disco.xep_0030` | ||||
|          | ||||
|         Triggered whenever a ``disco#info`` result stanza is received. | ||||
|  | ||||
|     disco_items | ||||
|         - **Data:** :py:class:`~sleekxmpp.plugins.xep_0030.stanza.DiscoItems` | ||||
|         - **Source:** :py:class:`~sleekxmpp.plugins.xep_0030.disco.xep_0030` | ||||
|         - **Data:** :py:class:`~slixmpp.plugins.xep_0030.stanza.DiscoItems` | ||||
|         - **Source:** :py:class:`~slixmpp.plugins.xep_0030.disco.xep_0030` | ||||
|          | ||||
|         Triggered whenever a ``disco#items`` result stanza is received. | ||||
|  | ||||
|     disconnected | ||||
|         - **Data:** ``{}`` | ||||
|         - **Source:** :py:class:`~sleekxmpp.xmlstream.XMLstream` | ||||
|         - **Source:** :py:class:`~slixmpp.xmlstream.XMLstream` | ||||
|  | ||||
|         Signal that the connection with the XMPP server has been lost. | ||||
|  | ||||
| @@ -81,33 +81,33 @@ Event Index | ||||
|  | ||||
|     failed_auth | ||||
|         - **Data:** ``{}`` | ||||
|         - **Source:** :py:class:`~sleekxmpp.ClientXMPP`, :py:class:`~sleekxmpp.plugins.xep_0078.xep_0078` | ||||
|         - **Source:** :py:class:`~slixmpp.ClientXMPP`, :py:class:`~slixmpp.plugins.xep_0078.xep_0078` | ||||
|  | ||||
|         Signal that the server has rejected the provided login credentials. | ||||
|  | ||||
|     gmail_notify | ||||
|         - **Data:** ``{}`` | ||||
|         - **Source:** :py:class:`~sleekxmpp.plugins.gmail_notify.gmail_notify` | ||||
|         - **Source:** :py:class:`~slixmpp.plugins.gmail_notify.gmail_notify` | ||||
|          | ||||
|         Signal that there are unread emails for the Gmail account associated with the current XMPP account. | ||||
|  | ||||
|     gmail_messages | ||||
|         - **Data:** :py:class:`~sleekxmpp.Iq` | ||||
|         - **Source:** :py:class:`~sleekxmpp.plugins.gmail_notify.gmail_notify` | ||||
|         - **Data:** :py:class:`~slixmpp.Iq` | ||||
|         - **Source:** :py:class:`~slixmpp.plugins.gmail_notify.gmail_notify` | ||||
|          | ||||
|         Signal that there are unread emails for the Gmail account associated with the current XMPP account. | ||||
|  | ||||
|     got_online | ||||
|         - **Data:** :py:class:`~sleekxmpp.Presence` | ||||
|         - **Source:** :py:class:`~sleekxmpp.roster.item.RosterItem` | ||||
|         - **Data:** :py:class:`~slixmpp.Presence` | ||||
|         - **Source:** :py:class:`~slixmpp.roster.item.RosterItem` | ||||
|  | ||||
|         If a presence stanza is received from a JID which was previously marked as | ||||
|         offline, and the presence has a show type of '``chat``', '``dnd``', '``away``', | ||||
|         or '``xa``', then this event is triggered as well. | ||||
|  | ||||
|     got_offline | ||||
|         - **Data:** :py:class:`~sleekxmpp.Presence` | ||||
|         - **Source:** :py:class:`~sleekxmpp.roster.item.RosterItem` | ||||
|         - **Data:** :py:class:`~slixmpp.Presence` | ||||
|         - **Source:** :py:class:`~slixmpp.roster.item.RosterItem` | ||||
|  | ||||
|         Signal that an unavailable presence stanza has been received from a JID. | ||||
|  | ||||
| @@ -116,24 +116,24 @@ Event Index | ||||
|         - **Source:** | ||||
|  | ||||
|     groupchat_direct_invite | ||||
|         - **Data:** :py:class:`~sleekxmpp.Message` | ||||
|         - **Source:** :py:class:`~sleekxmpp.plugins.xep_0249.direct` | ||||
|         - **Data:** :py:class:`~slixmpp.Message` | ||||
|         - **Source:** :py:class:`~slixmpp.plugins.xep_0249.direct` | ||||
|  | ||||
|     groupchat_message | ||||
|         - **Data:** :py:class:`~sleekxmpp.Message` | ||||
|         - **Source:** :py:class:`~sleekxmpp.plugins.xep_0045.xep_0045` | ||||
|         - **Data:** :py:class:`~slixmpp.Message` | ||||
|         - **Source:** :py:class:`~slixmpp.plugins.xep_0045.xep_0045` | ||||
|          | ||||
|         Triggered whenever a message is received from a multi-user chat room. | ||||
|  | ||||
|     groupchat_presence | ||||
|         - **Data:** :py:class:`~sleekxmpp.Presence` | ||||
|         - **Source:** :py:class:`~sleekxmpp.plugins.xep_0045.xep_0045` | ||||
|         - **Data:** :py:class:`~slixmpp.Presence` | ||||
|         - **Source:** :py:class:`~slixmpp.plugins.xep_0045.xep_0045` | ||||
|          | ||||
|         Triggered whenever a presence stanza is received from a user in a multi-user chat room. | ||||
|  | ||||
|     groupchat_subject | ||||
|         - **Data:** :py:class:`~sleekxmpp.Message` | ||||
|         - **Source:** :py:class:`~sleekxmpp.plugins.xep_0045.xep_0045` | ||||
|         - **Data:** :py:class:`~slixmpp.Message` | ||||
|         - **Source:** :py:class:`~slixmpp.plugins.xep_0045.xep_0045` | ||||
|          | ||||
|         Triggered whenever the subject of a multi-user chat room is changed, or announced when joining a room. | ||||
|  | ||||
| @@ -146,21 +146,21 @@ Event Index | ||||
|         - **Source:** | ||||
|  | ||||
|     message | ||||
|         - **Data:** :py:class:`~sleekxmpp.Message` | ||||
|         - **Source:** :py:class:`BaseXMPP <sleekxmpp.BaseXMPP>` | ||||
|         - **Data:** :py:class:`~slixmpp.Message` | ||||
|         - **Source:** :py:class:`BaseXMPP <slixmpp.BaseXMPP>` | ||||
|          | ||||
|         Makes the contents of message stanzas available whenever one is received. Be | ||||
|         sure to check the message type in order to handle error messages. | ||||
|  | ||||
|     message_form | ||||
|         - **Data:** :py:class:`~sleekxmpp.plugins.xep_0004.Form` | ||||
|         - **Source:** :py:class:`~sleekxmpp.plugins.xep_0004.xep_0004` | ||||
|         - **Data:** :py:class:`~slixmpp.plugins.xep_0004.Form` | ||||
|         - **Source:** :py:class:`~slixmpp.plugins.xep_0004.xep_0004` | ||||
|  | ||||
|         Currently the same as :term:`message_xform`. | ||||
|  | ||||
|     message_xform | ||||
|         - **Data:** :py:class:`~sleekxmpp.plugins.xep_0004.Form` | ||||
|         - **Source:** :py:class:`~sleekxmpp.plugins.xep_0004.xep_0004` | ||||
|         - **Data:** :py:class:`~slixmpp.plugins.xep_0004.Form` | ||||
|         - **Source:** :py:class:`~slixmpp.plugins.xep_0004.xep_0004` | ||||
|  | ||||
|         Triggered whenever a data form is received inside a message. | ||||
|  | ||||
| @@ -181,74 +181,74 @@ Event Index | ||||
|         - **Source:** | ||||
|  | ||||
|     presence_available | ||||
|         - **Data:** :py:class:`~sleekxmpp.Presence` | ||||
|         - **Source:** :py:class:`~sleekxmpp.BaseXMPP` | ||||
|         - **Data:** :py:class:`~slixmpp.Presence` | ||||
|         - **Source:** :py:class:`~slixmpp.BaseXMPP` | ||||
|          | ||||
|         A presence stanza with a type of '``available``' is received. | ||||
|  | ||||
|     presence_error | ||||
|         - **Data:** :py:class:`~sleekxmpp.Presence` | ||||
|         - **Source:** :py:class:`~sleekxmpp.BaseXMPP` | ||||
|         - **Data:** :py:class:`~slixmpp.Presence` | ||||
|         - **Source:** :py:class:`~slixmpp.BaseXMPP` | ||||
|          | ||||
|         A presence stanza with a type of '``error``' is received. | ||||
|  | ||||
|     presence_form | ||||
|         - **Data:** :py:class:`~sleekxmpp.plugins.xep_0004.Form` | ||||
|         - **Source:** :py:class:`~sleekxmpp.plugins.xep_0004.xep_0004` | ||||
|         - **Data:** :py:class:`~slixmpp.plugins.xep_0004.Form` | ||||
|         - **Source:** :py:class:`~slixmpp.plugins.xep_0004.xep_0004` | ||||
|          | ||||
|         This event is present in the XEP-0004 plugin code, but is currently not used. | ||||
|  | ||||
|     presence_probe | ||||
|         - **Data:** :py:class:`~sleekxmpp.Presence` | ||||
|         - **Source:** :py:class:`~sleekxmpp.BaseXMPP` | ||||
|         - **Data:** :py:class:`~slixmpp.Presence` | ||||
|         - **Source:** :py:class:`~slixmpp.BaseXMPP` | ||||
|          | ||||
|         A presence stanza with a type of '``probe``' is received. | ||||
|  | ||||
|     presence_subscribe | ||||
|         - **Data:** :py:class:`~sleekxmpp.Presence` | ||||
|         - **Source:** :py:class:`~sleekxmpp.BaseXMPP` | ||||
|         - **Data:** :py:class:`~slixmpp.Presence` | ||||
|         - **Source:** :py:class:`~slixmpp.BaseXMPP` | ||||
|          | ||||
|         A presence stanza with a type of '``subscribe``' is received. | ||||
|  | ||||
|     presence_subscribed | ||||
|         - **Data:** :py:class:`~sleekxmpp.Presence` | ||||
|         - **Source:** :py:class:`~sleekxmpp.BaseXMPP` | ||||
|         - **Data:** :py:class:`~slixmpp.Presence` | ||||
|         - **Source:** :py:class:`~slixmpp.BaseXMPP` | ||||
|          | ||||
|         A presence stanza with a type of '``subscribed``' is received. | ||||
|  | ||||
|     presence_unavailable | ||||
|         - **Data:** :py:class:`~sleekxmpp.Presence` | ||||
|         - **Source:** :py:class:`~sleekxmpp.BaseXMPP` | ||||
|         - **Data:** :py:class:`~slixmpp.Presence` | ||||
|         - **Source:** :py:class:`~slixmpp.BaseXMPP` | ||||
|          | ||||
|         A presence stanza with a type of '``unavailable``' is received. | ||||
|  | ||||
|     presence_unsubscribe | ||||
|         - **Data:** :py:class:`~sleekxmpp.Presence` | ||||
|         - **Source:** :py:class:`~sleekxmpp.BaseXMPP` | ||||
|         - **Data:** :py:class:`~slixmpp.Presence` | ||||
|         - **Source:** :py:class:`~slixmpp.BaseXMPP` | ||||
|          | ||||
|         A presence stanza with a type of '``unsubscribe``' is received. | ||||
|  | ||||
|     presence_unsubscribed | ||||
|         - **Data:** :py:class:`~sleekxmpp.Presence` | ||||
|         - **Source:** :py:class:`~sleekxmpp.BaseXMPP` | ||||
|         - **Data:** :py:class:`~slixmpp.Presence` | ||||
|         - **Source:** :py:class:`~slixmpp.BaseXMPP` | ||||
|          | ||||
|         A presence stanza with a type of '``unsubscribed``' is received. | ||||
|  | ||||
|     roster_update | ||||
|         - **Data:** :py:class:`~sleekxmpp.stanza.Roster` | ||||
|         - **Source:** :py:class:`~sleekxmpp.ClientXMPP` | ||||
|         - **Data:** :py:class:`~slixmpp.stanza.Roster` | ||||
|         - **Source:** :py:class:`~slixmpp.ClientXMPP` | ||||
|          | ||||
|         An IQ result containing roster entries is received. | ||||
|  | ||||
|     sent_presence | ||||
|         - **Data:** ``{}`` | ||||
|         - **Source:** :py:class:`~sleekxmpp.roster.multi.Roster` | ||||
|         - **Source:** :py:class:`~slixmpp.roster.multi.Roster` | ||||
|          | ||||
|         Signal that an initial presence stanza has been written to the XML stream. | ||||
|  | ||||
|     session_end | ||||
|         - **Data:** ``{}`` | ||||
|         - **Source:** :py:class:`~sleekxmpp.xmlstream.XMLstream` | ||||
|         - **Source:** :py:class:`~slixmpp.xmlstream.XMLstream` | ||||
|  | ||||
|         Signal that a connection to the XMPP server has been lost and the current | ||||
|         stream session has ended. Currently equivalent to :term:`disconnected`, but | ||||
| @@ -260,16 +260,16 @@ Event Index | ||||
|  | ||||
|     session_start | ||||
|         - **Data:** ``{}`` | ||||
|         - **Source:** :py:class:`ClientXMPP <sleekxmpp.ClientXMPP>`, | ||||
|           :py:class:`ComponentXMPP <sleekxmpp.ComponentXMPP>` | ||||
|           :py:class:`XEP-0078 <sleekxmpp.plugins.xep_0078>` | ||||
|         - **Source:** :py:class:`ClientXMPP <slixmpp.ClientXMPP>`, | ||||
|           :py:class:`ComponentXMPP <slixmpp.ComponentXMPP>` | ||||
|           :py:class:`XEP-0078 <slixmpp.plugins.xep_0078>` | ||||
|  | ||||
|         Signal that a connection to the XMPP server has been made and a session has been established. | ||||
|  | ||||
|     socket_error | ||||
|         - **Data:** ``Socket`` exception object | ||||
|         - **Source:** :py:class:`~sleekxmpp.xmlstream.XMLstream` | ||||
|         - **Source:** :py:class:`~slixmpp.xmlstream.XMLstream` | ||||
|  | ||||
|     stream_error | ||||
|         - **Data:** :py:class:`~sleekxmpp.stanza.StreamError` | ||||
|         - **Source:** :py:class:`~sleekxmpp.BaseXMPP` | ||||
|         - **Data:** :py:class:`~slixmpp.stanza.StreamError` | ||||
|         - **Source:** :py:class:`~slixmpp.BaseXMPP` | ||||
|   | ||||
| @@ -8,17 +8,17 @@ Create and Run a Server Component | ||||
|      | ||||
|     If you have any issues working through this quickstart guide | ||||
|     or the other tutorials here, please either send a message to the | ||||
|     `mailing list <http://groups.google.com/group/sleekxmpp-discussion>`_ | ||||
|     `mailing list <http://groups.google.com/group/slixmpp-discussion>`_ | ||||
|     or join the chat room at `sleek@conference.jabber.org | ||||
|     <xmpp:sleek@conference.jabber.org?join>`_. | ||||
|  | ||||
| If you have not yet installed SleekXMPP, do so now by either checking out a version | ||||
| from `Github <http://github.com/fritzy/SleekXMPP>`_, or installing it using ``pip`` | ||||
| If you have not yet installed Slixmpp, do so now by either checking out a version | ||||
| from `Github <http://github.com/fritzy/Slixmpp>`_, or installing it using ``pip`` | ||||
| or ``easy_install``. | ||||
|  | ||||
| .. code-block:: sh | ||||
|  | ||||
|     pip install sleekxmpp  # Or: easy_install sleekxmpp | ||||
|     pip install slixmpp  # Or: easy_install slixmpp | ||||
|  | ||||
|  | ||||
| Many XMPP applications eventually graduate to requiring to run as a server  | ||||
| @@ -30,7 +30,7 @@ The first difference is that we will add an additional import statement: | ||||
|  | ||||
| .. code-block:: python | ||||
|  | ||||
|     from sleekxmpp.componentxmpp import ComponentXMPP | ||||
|     from slixmpp.componentxmpp import ComponentXMPP | ||||
|  | ||||
| Likewise, we will change the bot's class definition to match: | ||||
|  | ||||
| @@ -48,7 +48,7 @@ a MUC component, the following could be used: | ||||
|  | ||||
| .. code-block:: python | ||||
|  | ||||
|     muc = ComponentXMPP('muc.sleekxmpp.com', '******', 'sleekxmpp.com', 5555) | ||||
|     muc = ComponentXMPP('muc.slixmpp.com', '******', 'slixmpp.com', 5555) | ||||
|  | ||||
| .. note:: | ||||
|  | ||||
| @@ -62,10 +62,10 @@ with presence. | ||||
| The other, main difference with components is that the | ||||
| ``'from'`` value for every stanza must be explicitly set, since | ||||
| components may send stanzas from multiple JIDs. To do so, | ||||
| the :meth:`~sleekxmpp.basexmpp.BaseXMPP.send_message()` and | ||||
| :meth:`~sleekxmpp.basexmpp.BaseXMPP.send_presence()` accept the parameters | ||||
| the :meth:`~slixmpp.basexmpp.BaseXMPP.send_message()` and | ||||
| :meth:`~slixmpp.basexmpp.BaseXMPP.send_presence()` accept the parameters | ||||
| ``mfrom`` and ``pfrom``, respectively. For any method that uses | ||||
| :class:`~sleekxmpp.stanza.iq.Iq` stanzas, ``ifrom`` may be used. | ||||
| :class:`~slixmpp.stanza.iq.Iq` stanzas, ``ifrom`` may be used. | ||||
|  | ||||
|  | ||||
| Final Product | ||||
|   | ||||
| @@ -1,24 +1,24 @@ | ||||
| .. _echobot: | ||||
|  | ||||
| =============================== | ||||
| SleekXMPP Quickstart - Echo Bot | ||||
| Slixmpp Quickstart - Echo Bot | ||||
| =============================== | ||||
|  | ||||
| .. note:: | ||||
|      | ||||
|     If you have any issues working through this quickstart guide | ||||
|     or the other tutorials here, please either send a message to the | ||||
|     `mailing list <http://groups.google.com/group/sleekxmpp-discussion>`_ | ||||
|     `mailing list <http://groups.google.com/group/slixmpp-discussion>`_ | ||||
|     or join the chat room at `sleek@conference.jabber.org | ||||
|     <xmpp:sleek@conference.jabber.org?join>`_. | ||||
|  | ||||
| If you have not yet installed SleekXMPP, do so now by either checking out a version | ||||
| from `Github <http://github.com/fritzy/SleekXMPP>`_, or installing it using ``pip`` | ||||
| If you have not yet installed Slixmpp, do so now by either checking out a version | ||||
| from `Github <http://github.com/fritzy/Slixmpp>`_, or installing it using ``pip`` | ||||
| or ``easy_install``. | ||||
|  | ||||
| .. code-block:: sh | ||||
|  | ||||
|     pip install sleekxmpp  # Or: easy_install sleekxmpp | ||||
|     pip install slixmpp  # Or: easy_install slixmpp | ||||
|  | ||||
|  | ||||
| As a basic starting project, we will create an echo bot which will reply to any | ||||
| @@ -48,7 +48,7 @@ To get started, here is a brief outline of the structure that the final project | ||||
|     import getpass | ||||
|     from optparse import OptionParser | ||||
|  | ||||
|     import sleekxmpp | ||||
|     import slixmpp | ||||
|  | ||||
|     '''Here we will create out echo bot class''' | ||||
|  | ||||
| @@ -61,7 +61,7 @@ To get started, here is a brief outline of the structure that the final project | ||||
|  | ||||
| Default Encoding | ||||
| ---------------- | ||||
| XMPP requires support for UTF-8 and so SleekXMPP must use UTF-8 as well. In | ||||
| XMPP requires support for UTF-8 and so Slixmpp must use UTF-8 as well. In | ||||
| Python3 this is simple because Unicode is the default string type. For Python2.6+ | ||||
| the situation is not as easy because standard strings are simply byte arrays and | ||||
| use ASCII. We can get Python to use UTF-8 as the default encoding by including: | ||||
| @@ -69,13 +69,13 @@ use ASCII. We can get Python to use UTF-8 as the default encoding by including: | ||||
| .. code-block:: python | ||||
|  | ||||
|     if sys.version_info < (3, 0): | ||||
|         from sleekxmpp.util.misc_ops import setdefaultencoding | ||||
|         from slixmpp.util.misc_ops import setdefaultencoding | ||||
|         setdefaultencoding('utf8') | ||||
|  | ||||
| .. warning:: | ||||
|  | ||||
|     Until we are able to ensure that SleekXMPP will always use Unicode in Python2.6+, this | ||||
|     may cause issues embedding SleekXMPP into other applications which assume ASCII encoding. | ||||
|     Until we are able to ensure that Slixmpp will always use Unicode in Python2.6+, this | ||||
|     may cause issues embedding Slixmpp into other applications which assume ASCII encoding. | ||||
|  | ||||
| Creating the EchoBot Class | ||||
| -------------------------- | ||||
| @@ -85,14 +85,14 @@ clients. Since our echo bot will only be responding to a few people, and won't n | ||||
| to remember thousands of users, we will use a client connection. A client connection | ||||
| is the same type that you use with your standard IM client such as Pidgin or Psi. | ||||
|  | ||||
| SleekXMPP comes with a :class:`ClientXMPP <sleekxmpp.clientxmpp.ClientXMPP>` class | ||||
| which we can extend to add our message echoing feature. :class:`ClientXMPP <sleekxmpp.clientxmpp.ClientXMPP>` | ||||
| Slixmpp comes with a :class:`ClientXMPP <slixmpp.clientxmpp.ClientXMPP>` class | ||||
| which we can extend to add our message echoing feature. :class:`ClientXMPP <slixmpp.clientxmpp.ClientXMPP>` | ||||
| requires the parameters ``jid`` and ``password``, so we will let our ``EchoBot`` class accept those | ||||
| as well. | ||||
|  | ||||
| .. code-block:: python | ||||
|  | ||||
|     class EchoBot(sleekxmpp.ClientXMPP): | ||||
|     class EchoBot(slixmpp.ClientXMPP): | ||||
|          | ||||
|         def __init__(self, jid, password): | ||||
|             super(EchoBot, self).__init__(jid, password) | ||||
| @@ -132,8 +132,8 @@ Our event handler, like every event handler, accepts a single parameter which ty | ||||
| that was received that caused the event. In this case, ``event`` will just be an empty dictionary since | ||||
| there is no associated data. | ||||
|  | ||||
| Our first task of sending an initial presence is done using :meth:`send_presence <sleekxmpp.basexmpp.BaseXMPP.send_presence>`. | ||||
| Calling :meth:`send_presence <sleekxmpp.basexmpp.BaseXMPP.send_presence>` without any arguments will send the simplest | ||||
| Our first task of sending an initial presence is done using :meth:`send_presence <slixmpp.basexmpp.BaseXMPP.send_presence>`. | ||||
| Calling :meth:`send_presence <slixmpp.basexmpp.BaseXMPP.send_presence>` without any arguments will send the simplest | ||||
| stanza allowed in XMPP: | ||||
|  | ||||
| .. code-block:: xml | ||||
| @@ -141,17 +141,17 @@ stanza allowed in XMPP: | ||||
|     <presence /> | ||||
|  | ||||
|  | ||||
| The second requirement is fulfilled using :meth:`get_roster <sleekxmpp.clientxmpp.ClientXMPP.get_roster>`, which | ||||
| The second requirement is fulfilled using :meth:`get_roster <slixmpp.clientxmpp.ClientXMPP.get_roster>`, which | ||||
| will send an IQ stanza requesting the roster to the server and then wait for the response. You may be wondering | ||||
| what :meth:`get_roster <sleekxmpp.clientxmpp.ClientXMPP.get_roster>` returns since we are not saving any return | ||||
| what :meth:`get_roster <slixmpp.clientxmpp.ClientXMPP.get_roster>` returns since we are not saving any return | ||||
| value. The roster data is saved by an internal handler to ``self.roster``, and in the case of a :class:`ClientXMPP | ||||
| <sleekxmpp.clientxmpp.ClientXMPP>` instance to ``self.client_roster``. (The difference between ``self.roster`` and | ||||
| <slixmpp.clientxmpp.ClientXMPP>` instance to ``self.client_roster``. (The difference between ``self.roster`` and | ||||
| ``self.client_roster`` is that ``self.roster`` supports storing roster information for multiple JIDs, which is useful | ||||
| for components, whereas ``self.client_roster`` stores roster data for just the client's JID.) | ||||
|  | ||||
| It is possible for a timeout to occur while waiting for the server to respond, which can happen if the | ||||
| network is excessively slow or the server is no longer responding. In that case, an :class:`IQTimeout | ||||
| <sleekxmpp.exceptions.IQTimeout>` is raised. Similarly, an :class:`IQError <sleekxmpp.exceptions.IQError>` exception can | ||||
| <slixmpp.exceptions.IQTimeout>` is raised. Similarly, an :class:`IQError <slixmpp.exceptions.IQError>` exception can | ||||
| be raised if the request contained bad data or requested the roster for the wrong user. In either case, you can wrap the | ||||
| ``get_roster()`` call in a ``try``/``except`` block to retry the roster retrieval process. | ||||
|  | ||||
| @@ -201,7 +201,7 @@ Let's take a closer look at the ``.reply()`` method used above. For message stan | ||||
| which is then used as the value of the ``<body />`` element of the message.  | ||||
| Setting the appropriate ``to`` JID is also handled by ``.reply()``. | ||||
|  | ||||
| Another way to have sent the reply message would be to use :meth:`send_message <sleekxmpp.basexmpp.BaseXMPP.send_message>`, | ||||
| Another way to have sent the reply message would be to use :meth:`send_message <slixmpp.basexmpp.BaseXMPP.send_message>`, | ||||
| which is a convenience method for generating and sending a message based on the values passed to it. If we were to use | ||||
| this method, the above code would look as so: | ||||
|  | ||||
| @@ -229,13 +229,13 @@ Whichever method you choose to use, the results in action will look like this: | ||||
|     XMPP does not require stanzas sent by a client to include a ``from`` attribute, and | ||||
|     leaves that responsibility to the XMPP server. However, if a sent stanza does | ||||
|     include a ``from`` attribute, it must match the full JID of the client or some | ||||
|     servers will reject it. SleekXMPP thus leaves out the ``from`` attribute when replying | ||||
|     servers will reject it. Slixmpp thus leaves out the ``from`` attribute when replying | ||||
|     using a client connection. | ||||
|  | ||||
| Command Line Arguments and Logging | ||||
| ---------------------------------- | ||||
|  | ||||
| While this isn't part of SleekXMPP itself, we do want our echo bot program to be able | ||||
| While this isn't part of Slixmpp itself, we do want our echo bot program to be able | ||||
| to accept a JID and password from the command line instead of hard coding them. We will | ||||
| use the ``optparse`` module for this, though there are several alternative methods, including | ||||
| the newer ``argparse`` module. | ||||
| @@ -305,7 +305,7 @@ the ``EchoBot.__init__`` method instead. | ||||
|  | ||||
|     If you are using the OpenFire server, you will need to include an additional  | ||||
|     configuration step. OpenFire supports a different version of SSL than what | ||||
|     most servers and SleekXMPP support. | ||||
|     most servers and Slixmpp support. | ||||
|  | ||||
|     .. code-block:: python | ||||
|      | ||||
| @@ -313,11 +313,11 @@ the ``EchoBot.__init__`` method instead. | ||||
|         xmpp.ssl_version = ssl.PROTOCOL_SSLv3 | ||||
|  | ||||
| Now we're ready to connect and begin echoing messages. If you have the package | ||||
| ``dnspython`` installed, then the :meth:`sleekxmpp.clientxmpp.ClientXMPP` method | ||||
| ``dnspython`` installed, then the :meth:`slixmpp.clientxmpp.ClientXMPP` method | ||||
| will perform a DNS query to find the appropriate server to connect to for the | ||||
| given JID. If you do not have ``dnspython``, then SleekXMPP will attempt to  | ||||
| given JID. If you do not have ``dnspython``, then Slixmpp will attempt to  | ||||
| connect to the hostname used by the JID, unless an address tuple is supplied | ||||
| to :meth:`sleekxmpp.clientxmpp.ClientXMPP`.  | ||||
| to :meth:`slixmpp.clientxmpp.ClientXMPP`.  | ||||
|  | ||||
| .. code-block:: python | ||||
|  | ||||
| @@ -346,19 +346,19 @@ to :meth:`sleekxmpp.clientxmpp.ClientXMPP`. | ||||
|             else: | ||||
|                 print('Unable to connect') | ||||
|  | ||||
| To begin responding to messages, you'll see we called :meth:`sleekxmpp.basexmpp.BaseXMPP.process` | ||||
| To begin responding to messages, you'll see we called :meth:`slixmpp.basexmpp.BaseXMPP.process` | ||||
| which will start the event handling, send queue, and XML reader threads. It will also call | ||||
| the :meth:`sleekxmpp.plugins.base.base_plugin.post_init` method on all registered plugins. By | ||||
| passing ``block=True`` to :meth:`sleekxmpp.basexmpp.BaseXMPP.process` we are running the  | ||||
| main processing loop in the main thread of execution. The :meth:`sleekxmpp.basexmpp.BaseXMPP.process` | ||||
| call will not return until after SleekXMPP disconnects. If you need to run the client in the background | ||||
| the :meth:`slixmpp.plugins.base.base_plugin.post_init` method on all registered plugins. By | ||||
| passing ``block=True`` to :meth:`slixmpp.basexmpp.BaseXMPP.process` we are running the  | ||||
| main processing loop in the main thread of execution. The :meth:`slixmpp.basexmpp.BaseXMPP.process` | ||||
| call will not return until after Slixmpp disconnects. If you need to run the client in the background | ||||
| for another program, use ``block=False`` to spawn the processing loop in its own thread. | ||||
|  | ||||
| .. note::  | ||||
|  | ||||
|     Before 1.0, controlling the blocking behaviour of :meth:`sleekxmpp.basexmpp.BaseXMPP.process` was | ||||
|     Before 1.0, controlling the blocking behaviour of :meth:`slixmpp.basexmpp.BaseXMPP.process` was | ||||
|     done via the ``threaded`` argument. This arrangement was a source of confusion because some users | ||||
|     interpreted that as controlling whether or not SleekXMPP used threads at all, instead of how | ||||
|     interpreted that as controlling whether or not Slixmpp used threads at all, instead of how | ||||
|     the processing loop itself was spawned. | ||||
|  | ||||
|     The statements ``xmpp.process(threaded=False)`` and ``xmpp.process(block=True)`` are equivalent. | ||||
| @@ -370,7 +370,7 @@ The Final Product | ||||
| ----------------- | ||||
|  | ||||
| Here then is what the final result should look like after working through the guide above. The code | ||||
| can also be found in the SleekXMPP `examples directory <http://github.com/fritzy/SleekXMPP/tree/master/examples>`_. | ||||
| can also be found in the Slixmpp `examples directory <http://github.com/fritzy/Slixmpp/tree/master/examples>`_. | ||||
|  | ||||
| .. compound:: | ||||
|  | ||||
|   | ||||
| @@ -1,17 +1,17 @@ | ||||
| Send/Receive IQ Stanzas | ||||
| ======================= | ||||
|  | ||||
| Unlike :class:`~sleekxmpp.stanza.message.Message` and | ||||
| :class:`~sleekxmpp.stanza.presence.Presence` stanzas which only use | ||||
| text data for basic usage, :class:`~sleekxmpp.stanza.iq.Iq` stanzas | ||||
| Unlike :class:`~slixmpp.stanza.message.Message` and | ||||
| :class:`~slixmpp.stanza.presence.Presence` stanzas which only use | ||||
| text data for basic usage, :class:`~slixmpp.stanza.iq.Iq` stanzas | ||||
| require using XML payloads, and generally entail creating a new | ||||
| SleekXMPP plugin to provide the necessary convenience methods to | ||||
| Slixmpp plugin to provide the necessary convenience methods to | ||||
| make working with them easier. | ||||
|  | ||||
| Basic Use | ||||
| --------- | ||||
|  | ||||
| XMPP's use of :class:`~sleekxmpp.stanza.iq.Iq` stanzas is built around | ||||
| XMPP's use of :class:`~slixmpp.stanza.iq.Iq` stanzas is built around | ||||
| namespaced ``<query />`` elements. For clients, just sending the | ||||
| empty ``<query />`` element will suffice for retrieving information. For | ||||
| example, a very basic implementation of service discovery would just | ||||
| @@ -26,18 +26,18 @@ need to be able to send: | ||||
| Creating Iq Stanzas | ||||
| ~~~~~~~~~~~~~~~~~~~ | ||||
|  | ||||
| SleekXMPP provides built-in support for creating basic :class:`~sleekxmpp.stanza.iq.Iq` | ||||
| Slixmpp provides built-in support for creating basic :class:`~slixmpp.stanza.iq.Iq` | ||||
| stanzas this way. The relevant methods are: | ||||
|  | ||||
| * :meth:`~sleekxmpp.basexmpp.BaseXMPP.make_iq` | ||||
| * :meth:`~sleekxmpp.basexmpp.BaseXMPP.make_iq_get` | ||||
| * :meth:`~sleekxmpp.basexmpp.BaseXMPP.make_iq_set` | ||||
| * :meth:`~sleekxmpp.basexmpp.BaseXMPP.make_iq_result` | ||||
| * :meth:`~sleekxmpp.basexmpp.BaseXMPP.make_iq_error` | ||||
| * :meth:`~sleekxmpp.basexmpp.BaseXMPP.make_iq_query` | ||||
| * :meth:`~slixmpp.basexmpp.BaseXMPP.make_iq` | ||||
| * :meth:`~slixmpp.basexmpp.BaseXMPP.make_iq_get` | ||||
| * :meth:`~slixmpp.basexmpp.BaseXMPP.make_iq_set` | ||||
| * :meth:`~slixmpp.basexmpp.BaseXMPP.make_iq_result` | ||||
| * :meth:`~slixmpp.basexmpp.BaseXMPP.make_iq_error` | ||||
| * :meth:`~slixmpp.basexmpp.BaseXMPP.make_iq_query` | ||||
|  | ||||
| These methods all follow the same pattern: create or modify an existing  | ||||
| :class:`~sleekxmpp.stanza.iq.Iq` stanza, set the ``'type'`` value based | ||||
| :class:`~slixmpp.stanza.iq.Iq` stanza, set the ``'type'`` value based | ||||
| on the method name, and finally add a ``<query />`` element with the given | ||||
| namespace. For example, to produce the query above, you would use: | ||||
|  | ||||
| @@ -50,14 +50,14 @@ namespace. For example, to produce the query above, you would use: | ||||
| Sending Iq Stanzas | ||||
| ~~~~~~~~~~~~~~~~~~ | ||||
|  | ||||
| Once an :class:`~sleekxmpp.stanza.iq.Iq` stanza is created, sending it | ||||
| over the wire is done using its :meth:`~sleekxmpp.stanza.iq.Iq.send()` | ||||
| Once an :class:`~slixmpp.stanza.iq.Iq` stanza is created, sending it | ||||
| over the wire is done using its :meth:`~slixmpp.stanza.iq.Iq.send()` | ||||
| method, like any other stanza object. However, there are a few extra | ||||
| options to control how to wait for the query's response. | ||||
|  | ||||
| These options are: | ||||
|  | ||||
| * ``block``: The default behaviour is that :meth:`~sleekxmpp.stanza.iq.Iq.send()` | ||||
| * ``block``: The default behaviour is that :meth:`~slixmpp.stanza.iq.Iq.send()` | ||||
|   will block until a response is received and the response stanza will be the | ||||
|   return value. Setting ``block`` to ``False`` will cause the call to return | ||||
|   immediately. In which case, you will need to arrange some way to capture | ||||
| @@ -90,11 +90,11 @@ These options are: | ||||
|        # ... later if we need to cancel | ||||
|        self.remove_handler(cb_name) | ||||
|  | ||||
| Properly working with :class:`~sleekxmpp.stanza.iq.Iq` stanzas requires | ||||
| Properly working with :class:`~slixmpp.stanza.iq.Iq` stanzas requires | ||||
| handling the intended, normal flow, error responses, and timed out | ||||
| requests. To make this easier, two exceptions may be thrown by | ||||
| :meth:`~sleekxmpp.stanza.iq.Iq.send()`: :exc:`~sleekxmpp.exceptions.IqError` | ||||
| and :exc:`~sleekxmpp.exceptions.IqTimeout`. These exceptions only | ||||
| :meth:`~slixmpp.stanza.iq.Iq.send()`: :exc:`~slixmpp.exceptions.IqError` | ||||
| and :exc:`~slixmpp.exceptions.IqTimeout`. These exceptions only | ||||
| apply to the default, blocking calls. | ||||
|  | ||||
| .. code-block:: python | ||||
| @@ -110,7 +110,7 @@ apply to the default, blocking calls. | ||||
|         pass | ||||
|  | ||||
| If you do not care to distinguish between errors and timeouts, then you | ||||
| can combine both cases with a generic :exc:`~sleekxmpp.exceptions.XMPPError` | ||||
| can combine both cases with a generic :exc:`~slixmpp.exceptions.XMPPError` | ||||
| exception: | ||||
|  | ||||
| .. code-block:: python | ||||
| @@ -124,9 +124,9 @@ exception: | ||||
| Advanced Use | ||||
| ------------ | ||||
|  | ||||
| Going beyond the basics provided by SleekXMPP requires building at least a | ||||
| rudimentary SleekXMPP plugin to create a :term:`stanza object` for | ||||
| interfacting with the :class:`~sleekxmpp.stanza.iq.Iq` payload. | ||||
| Going beyond the basics provided by Slixmpp requires building at least a | ||||
| rudimentary Slixmpp plugin to create a :term:`stanza object` for | ||||
| interfacting with the :class:`~slixmpp.stanza.iq.Iq` payload. | ||||
|  | ||||
| .. seealso:: | ||||
|  | ||||
| @@ -135,13 +135,13 @@ interfacting with the :class:`~sleekxmpp.stanza.iq.Iq` payload. | ||||
|     * :ref:`using-handlers-matchers` | ||||
|      | ||||
|  | ||||
| The typical way to respond to :class:`~sleekxmpp.stanza.iq.Iq` requests is | ||||
| The typical way to respond to :class:`~slixmpp.stanza.iq.Iq` requests is | ||||
| to register stream handlers. As an example, suppose we create a stanza class | ||||
| named ``CustomXEP`` which uses the XML element ``<query xmlns="custom-xep" />``, | ||||
| and has a :attr:`~sleekxmpp.xmlstream.stanzabase.ElementBase.plugin_attrib` value | ||||
| and has a :attr:`~slixmpp.xmlstream.stanzabase.ElementBase.plugin_attrib` value | ||||
| of ``custom_xep``. | ||||
|  | ||||
| There are two types of incoming :class:`~sleekxmpp.stanza.iq.Iq` requests: | ||||
| There are two types of incoming :class:`~slixmpp.stanza.iq.Iq` requests: | ||||
| ``get`` and ``set``. You can register a handler that will accept both and then | ||||
| filter by type as needed, as so: | ||||
|  | ||||
| @@ -167,7 +167,7 @@ filter by type as needed, as so: | ||||
|  | ||||
| If you want to filter out query types beforehand, you can adjust the matching | ||||
| filter by using ``@type=get`` or ``@type=set`` if you are using the recommended | ||||
| :class:`~sleekxmpp.xmlstream.matcher.stanzapath.StanzaPath` matcher. | ||||
| :class:`~slixmpp.xmlstream.matcher.stanzapath.StanzaPath` matcher. | ||||
|  | ||||
| .. code-block:: python | ||||
|  | ||||
|   | ||||
| @@ -8,20 +8,20 @@ Mulit-User Chat (MUC) Bot | ||||
|  | ||||
|     If you have any issues working through this quickstart guide | ||||
|     or the other tutorials here, please either send a message to the | ||||
|     `mailing list <http://groups.google.com/group/sleekxmpp-discussion>`_ | ||||
|     `mailing list <http://groups.google.com/group/slixmpp-discussion>`_ | ||||
|     or join the chat room at `sleek@conference.jabber.org | ||||
|     <xmpp:sleek@conference.jabber.org?join>`_. | ||||
|  | ||||
| If you have not yet installed SleekXMPP, do so now by either checking out a version | ||||
| from `Github <http://github.com/fritzy/SleekXMPP>`_, or installing it using ``pip`` | ||||
| If you have not yet installed Slixmpp, do so now by either checking out a version | ||||
| from `Github <http://github.com/fritzy/Slixmpp>`_, or installing it using ``pip`` | ||||
| or ``easy_install``. | ||||
|  | ||||
| .. code-block:: sh | ||||
|  | ||||
|     pip install sleekxmpp  # Or: easy_install sleekxmpp | ||||
|     pip install slixmpp  # Or: easy_install slixmpp | ||||
|  | ||||
|  | ||||
| Now that you've got the basic gist of using SleekXMPP by following the | ||||
| Now that you've got the basic gist of using Slixmpp by following the | ||||
| echobot example (:ref:`echobot`), we can use one of the bundled plugins | ||||
| to create a very popular XMPP starter project: a `Multi-User Chat`_ | ||||
| (MUC) bot. Our bot will login to an XMPP server, join an MUC chat room | ||||
| @@ -36,7 +36,7 @@ Joining The Room | ||||
|  | ||||
| As usual, our code will be based on the pattern explained in :ref:`echobot`. | ||||
| To start, we create an ``MUCBot`` class based on | ||||
| :class:`ClientXMPP <sleekxmpp.clientxmpp.ClientXMPP>` and which accepts | ||||
| :class:`ClientXMPP <slixmpp.clientxmpp.ClientXMPP>` and which accepts | ||||
| parameters for the JID of the MUC room to join, and the nick that the | ||||
| bot will use inside the chat room.  We also register an | ||||
| :term:`event handler` for the :term:`session_start` event. | ||||
| @@ -44,12 +44,12 @@ bot will use inside the chat room.  We also register an | ||||
|  | ||||
| .. code-block:: python | ||||
|  | ||||
|     import sleekxmpp | ||||
|     import slixmpp | ||||
|  | ||||
|     class MUCBot(sleekxmpp.ClientXMPP): | ||||
|     class MUCBot(slixmpp.ClientXMPP): | ||||
|  | ||||
|         def __init__(self, jid, password, room, nick): | ||||
|             sleekxmpp.ClientXMPP.__init__(self, jid, password) | ||||
|             slixmpp.ClientXMPP.__init__(self, jid, password) | ||||
|  | ||||
|             self.room = room | ||||
|             self.nick = nick | ||||
| @@ -81,7 +81,7 @@ the roster. Next, we want to join the group chat, so we call the | ||||
|  | ||||
| .. note:: | ||||
|  | ||||
|     The :attr:`plugin <sleekxmpp.basexmpp.BaseXMPP.plugin>` attribute is | ||||
|     The :attr:`plugin <slixmpp.basexmpp.BaseXMPP.plugin>` attribute is | ||||
|     dictionary that maps to instances of plugins that we have previously | ||||
|     registered, by their names. | ||||
|  | ||||
| @@ -115,7 +115,7 @@ event inside the bot's ``__init__`` function. | ||||
| .. code-block:: python | ||||
|  | ||||
|     def __init__(self, jid, password, room, nick): | ||||
|         sleekxmpp.ClientXMPP.__init__(self, jid, password) | ||||
|         slixmpp.ClientXMPP.__init__(self, jid, password) | ||||
|  | ||||
|         self.room = room | ||||
|         self.nick = nick | ||||
| @@ -159,7 +159,7 @@ event so it's a good idea to register an event handler for it. | ||||
| .. code-block:: python | ||||
|  | ||||
|     def __init__(self, jid, password, room, nick): | ||||
|         sleekxmpp.ClientXMPP.__init__(self, jid, password) | ||||
|         slixmpp.ClientXMPP.__init__(self, jid, password) | ||||
|  | ||||
|         self.room = room | ||||
|         self.nick = nick | ||||
|   | ||||
| @@ -8,16 +8,16 @@ Enable HTTP Proxy Support | ||||
|      | ||||
|     If you have any issues working through this quickstart guide | ||||
|     or the other tutorials here, please either send a message to the | ||||
|     `mailing list <http://groups.google.com/group/sleekxmpp-discussion>`_ | ||||
|     `mailing list <http://groups.google.com/group/slixmpp-discussion>`_ | ||||
|     or join the chat room at `sleek@conference.jabber.org | ||||
|     <xmpp:sleek@conference.jabber.org?join>`_. | ||||
|  | ||||
| In some instances, you may wish to route XMPP traffic through | ||||
| an HTTP proxy, probably to get around restrictive firewalls. | ||||
| SleekXMPP provides support for basic HTTP proxying with DIGEST | ||||
| Slixmpp provides support for basic HTTP proxying with DIGEST | ||||
| authentication. | ||||
|  | ||||
| Enabling proxy support is done in two steps. The first is to instruct SleekXMPP | ||||
| Enabling proxy support is done in two steps. The first is to instruct Slixmpp | ||||
| to use a proxy, and the second is to configure the proxy details: | ||||
|  | ||||
| .. code-block:: python | ||||
|   | ||||
| @@ -5,25 +5,25 @@ Sign in, Send a Message, and Disconnect | ||||
|      | ||||
|     If you have any issues working through this quickstart guide | ||||
|     or the other tutorials here, please either send a message to the | ||||
|     `mailing list <http://groups.google.com/group/sleekxmpp-discussion>`_ | ||||
|     `mailing list <http://groups.google.com/group/slixmpp-discussion>`_ | ||||
|     or join the chat room at `sleek@conference.jabber.org | ||||
|     <xmpp:sleek@conference.jabber.org?join>`_. | ||||
|  | ||||
| A common use case for SleekXMPP is to send one-off messages from | ||||
| A common use case for Slixmpp is to send one-off messages from | ||||
| time to time. For example, one use case could be sending out a notice when  | ||||
| a shell script finishes a task. | ||||
|  | ||||
| We will create our one-shot bot based on the pattern explained in :ref:`echobot`. To | ||||
| start, we create a client class based on :class:`ClientXMPP <sleekxmpp.clientxmpp.ClientXMPP>` and | ||||
| start, we create a client class based on :class:`ClientXMPP <slixmpp.clientxmpp.ClientXMPP>` and | ||||
| register a handler for the :term:`session_start` event. We will also accept parameters | ||||
| for the JID that will receive our message, and the string content of the message. | ||||
|  | ||||
| .. code-block:: python | ||||
|  | ||||
|     import sleekxmpp | ||||
|     import slixmpp | ||||
|  | ||||
|  | ||||
|     class SendMsgBot(sleekxmpp.ClientXMPP): | ||||
|     class SendMsgBot(slixmpp.ClientXMPP): | ||||
|          | ||||
|         def __init__(self, jid, password, recipient, msg): | ||||
|             super(SendMsgBot, self).__init__(jid, password) | ||||
| @@ -38,7 +38,7 @@ for the JID that will receive our message, and the string content of the message | ||||
|             self.get_roster() | ||||
|  | ||||
| Note that as in :ref:`echobot`, we need to include send an initial presence and request | ||||
| the roster. Next, we want to send our message, and to do that we will use :meth:`send_message <sleekxmpp.basexmpp.BaseXMPP.send_message>`. | ||||
| the roster. Next, we want to send our message, and to do that we will use :meth:`send_message <slixmpp.basexmpp.BaseXMPP.send_message>`. | ||||
|  | ||||
| .. code-block:: python | ||||
|  | ||||
| @@ -48,12 +48,12 @@ the roster. Next, we want to send our message, and to do that we will use :meth: | ||||
|  | ||||
|         self.send_message(mto=self.recipient, mbody=self.msg) | ||||
|  | ||||
| Finally, we need to disconnect the client using :meth:`disconnect <sleekxmpp.xmlstream.XMLStream.disconnect>`. | ||||
| Finally, we need to disconnect the client using :meth:`disconnect <slixmpp.xmlstream.XMLStream.disconnect>`. | ||||
| Now, sent stanzas are placed in a queue to pass them to the send thread. If we were to call | ||||
| :meth:`disconnect <sleekxmpp.xmlstream.XMLStream.disconnect>` without any parameters, then it is possible | ||||
| :meth:`disconnect <slixmpp.xmlstream.XMLStream.disconnect>` without any parameters, then it is possible | ||||
| for the client to disconnect before the send queue is processed and the message is actually | ||||
| sent on the wire. To ensure that our message is processed, we use  | ||||
| :meth:`disconnect(wait=True) <sleekxmpp.xmlstream.XMLStream.disconnect>`. | ||||
| :meth:`disconnect(wait=True) <slixmpp.xmlstream.XMLStream.disconnect>`. | ||||
|  | ||||
| .. code-block:: python | ||||
|  | ||||
| @@ -68,7 +68,7 @@ sent on the wire. To ensure that our message is processed, we use | ||||
| .. warning:: | ||||
|  | ||||
|     If you happen to be adding stanzas to the send queue faster than the send thread | ||||
|     can process them, then :meth:`disconnect(wait=True) <sleekxmpp.xmlstream.XMLStream.disconnect>` | ||||
|     can process them, then :meth:`disconnect(wait=True) <slixmpp.xmlstream.XMLStream.disconnect>` | ||||
|     will block and not disconnect. | ||||
|  | ||||
| Final Product | ||||
|   | ||||
| @@ -18,7 +18,7 @@ Working with service discovery is about creating and querying these nodes. | ||||
| According to XEP-0030, a node may contain three types of information: | ||||
| identities, features, and items. (Further, extensible, information types are | ||||
| defined in `XEP-0128 <http://xmpp.org/extensions/xep-0128.html>`_, but they are | ||||
| not yet implemented by SleekXMPP.) SleekXMPP provides methods to configure each | ||||
| not yet implemented by Slixmpp.) Slixmpp provides methods to configure each | ||||
| of these node attributes. | ||||
|  | ||||
| Configuring Service Discovery | ||||
| @@ -119,7 +119,7 @@ the same order as expected using positional arguments. | ||||
|  | ||||
|     xmpp['xep_0030'].add_identity(category='client', | ||||
|                                   itype='bot', | ||||
|                                   name='Sleek', | ||||
|                                   name='Slixmpp', | ||||
|                                   node='foo', | ||||
|                                   jid=xmpp.boundjid.full, | ||||
|                                   lang='no') | ||||
|   | ||||
| @@ -1,49 +1,49 @@ | ||||
| SleekXMPP | ||||
| Slixmpp | ||||
| ######### | ||||
|  | ||||
| .. sidebar:: Get the Code | ||||
|  | ||||
|     .. code-block:: sh | ||||
|  | ||||
|         pip install sleekxmpp | ||||
|         pip install slixmpp | ||||
|  | ||||
|     The latest source code for SleekXMPP may be found on `Github | ||||
|     <http://github.com/fritzy/SleekXMPP>`_. Releases can be found in the | ||||
|     The latest source code for Slixmpp may be found on `Github | ||||
|     <http://github.com/fritzy/Slixmpp>`_. Releases can be found in the | ||||
|     ``master`` branch, while the latest development version is in the | ||||
|     ``develop`` branch. | ||||
|  | ||||
|     **Latest Stable Release** | ||||
|         - `1.0 <http://github.com/fritzy/SleekXMPP/zipball/1.0>`_ | ||||
|         - `1.0 <http://github.com/fritzy/Slixmpp/zipball/1.0>`_ | ||||
|  | ||||
|     **Develop Releases** | ||||
|         - `Latest Develop Version <http://github.com/fritzy/SleekXMPP/zipball/develop>`_ | ||||
|         - `Latest Develop Version <http://github.com/fritzy/Slixmpp/zipball/develop>`_ | ||||
|  | ||||
|  | ||||
|     A mailing list and XMPP chat room are available for discussing and getting | ||||
|     help with SleekXMPP. | ||||
|     help with Slixmpp. | ||||
|  | ||||
|     **Mailing List** | ||||
|         `SleekXMPP Discussion on Google Groups <http://groups.google.com/group/sleekxmpp-discussion>`_ | ||||
|         `Slixmpp Discussion on Google Groups <http://groups.google.com/group/slixmpp-discussion>`_ | ||||
|  | ||||
|     **Chat** | ||||
|         `sleek@conference.jabber.org <xmpp:sleek@conference.jabber.org?join>`_ | ||||
|  | ||||
|  | ||||
| SleekXMPP is an :ref:`MIT licensed <license>` XMPP library for Python 2.6/3.1+, | ||||
| Slixmpp is an :ref:`MIT licensed <license>` XMPP library for Python 2.6/3.1+, | ||||
| and is featured in examples in | ||||
| `XMPP: The Definitive Guide <http://oreilly.com/catalog/9780596521271>`_  | ||||
| by Kevin Smith, Remko Tronçon, and Peter Saint-Andre. If you've arrived | ||||
| here from reading the Definitive Guide, please see the notes on updating | ||||
| the examples to the latest version of SleekXMPP. | ||||
| the examples to the latest version of Slixmpp. | ||||
|  | ||||
| SleekXMPP's design goals and philosphy are: | ||||
| Slixmpp's design goals and philosphy are: | ||||
|  | ||||
| **Low number of dependencies** | ||||
|     Installing and using SleekXMPP should be as simple as possible, without | ||||
|     Installing and using Slixmpp should be as simple as possible, without | ||||
|     having to deal with long dependency chains. | ||||
|  | ||||
|     As part of reducing the number of dependencies, some third party | ||||
|     modules are included with SleekXMPP in the ``thirdparty`` directory. | ||||
|     modules are included with Slixmpp in the ``thirdparty`` directory. | ||||
|     Imports from this module first try to import an existing installed | ||||
|     version before loading the packaged version, when possible. | ||||
|  | ||||
| @@ -55,19 +55,19 @@ SleekXMPP's design goals and philosphy are: | ||||
|     XEPs. | ||||
|  | ||||
| **Rewarding to work with** | ||||
|     As much as possible, SleekXMPP should allow things to "just work" using | ||||
|     As much as possible, Slixmpp should allow things to "just work" using | ||||
|     sensible defaults and appropriate abstractions. XML can be ugly to work | ||||
|     with, but it doesn't have to be that way. | ||||
|  | ||||
| Here's your first SleekXMPP Bot: | ||||
| Here's your first Slixmpp Bot: | ||||
| -------------------------------- | ||||
|  | ||||
| .. code-block:: python | ||||
|  | ||||
|     import logging | ||||
|  | ||||
|     from sleekxmpp import ClientXMPP | ||||
|     from sleekxmpp.exceptions import IqError, IqTimeout | ||||
|     from slixmpp import ClientXMPP | ||||
|     from slixmpp.exceptions import IqError, IqTimeout | ||||
|  | ||||
|  | ||||
|     class EchoBot(ClientXMPP): | ||||
| @@ -161,7 +161,7 @@ Plugin Guides | ||||
|  | ||||
|     guide_xep_0030 | ||||
|  | ||||
| SleekXMPP Architecture and Design | ||||
| Slixmpp Architecture and Design | ||||
| --------------------------------- | ||||
| .. toctree:: | ||||
|     :maxdepth: 3 | ||||
|   | ||||
| @@ -95,9 +95,9 @@ if "%1" == "qthelp" ( | ||||
| 	echo. | ||||
| 	echo.Build finished; now you can run "qcollectiongenerator" with the ^ | ||||
| .qhcp project file in %BUILDDIR%/qthelp, like this: | ||||
| 	echo.^> qcollectiongenerator %BUILDDIR%\qthelp\SleekXMPP.qhcp | ||||
| 	echo.^> qcollectiongenerator %BUILDDIR%\qthelp\Slixmpp.qhcp | ||||
| 	echo.To view the help file: | ||||
| 	echo.^> assistant -collectionFile %BUILDDIR%\qthelp\SleekXMPP.ghc | ||||
| 	echo.^> assistant -collectionFile %BUILDDIR%\qthelp\Slixmpp.ghc | ||||
| 	goto end | ||||
| ) | ||||
|  | ||||
|   | ||||
| @@ -1,20 +1,20 @@ | ||||
| Following *XMPP: The Definitive Guide* | ||||
| ====================================== | ||||
|  | ||||
| SleekXMPP was featured in the first edition of the O'Reilly book  | ||||
| Slixmpp was featured in the first edition of the O'Reilly book  | ||||
| `XMPP: The Definitive Guide <http://oreilly.com/catalog/9780596521271/>`_ | ||||
| by Peter Saint-Andre, Kevin Smith, and Remko Tronçon. The original source code | ||||
| for the book's examples can be found at http://github.com/remko/xmpp-tdg. An | ||||
| updated version of the source code, maintained to stay current with the latest | ||||
| SleekXMPP release, is available at http://github.com/legastero/xmpp-tdg. | ||||
| Slixmpp release, is available at http://github.com/legastero/xmpp-tdg. | ||||
|  | ||||
| However, since publication, SleekXMPP has advanced from version 0.2.1 to version | ||||
| However, since publication, Slixmpp has advanced from version 0.2.1 to version | ||||
| 1.0 and there have been several major API changes. The most notable is the | ||||
| introduction of :term:`stanza objects <stanza object>` which have simplified and | ||||
| standardized interactions with the XMPP XML stream. | ||||
|  | ||||
| What follows is a walk-through of *The Definitive Guide* highlighting the | ||||
| changes needed to make the code examples work with version 1.0 of SleekXMPP. | ||||
| changes needed to make the code examples work with version 1.0 of Slixmpp. | ||||
| These changes have been kept to a minimum to preserve the correlation with | ||||
| the book's explanations, so be aware that some code may not use current best | ||||
| practices. | ||||
| @@ -47,7 +47,7 @@ Example 14-1. (Page 215) | ||||
| **CheshiR IM bot implementation.** | ||||
|  | ||||
| The main event handling method in the Bot class is meant to process both message | ||||
| events and presence update events. With the new changes in SleekXMPP 1.0, | ||||
| events and presence update events. With the new changes in Slixmpp 1.0, | ||||
| extracting a CheshiR status "message" from both types of stanzas | ||||
| requires accessing different attributes. In the case of a message stanza, the | ||||
| ``"body"`` attribute would contain the CheshiR message. For a presence event, | ||||
| @@ -72,8 +72,8 @@ Updated Code | ||||
| .. code-block:: python | ||||
|  | ||||
|   def handleIncomingXMPPEvent(self, event): | ||||
|     msgLocations = {sleekxmpp.stanza.presence.Presence: "status", | ||||
|                     sleekxmpp.stanza.message.Message: "body"} | ||||
|     msgLocations = {slixmpp.stanza.presence.Presence: "status", | ||||
|                     slixmpp.stanza.message.Message: "body"} | ||||
|  | ||||
|     message = event[msgLocations[type(event)]] | ||||
|     user = self.backend.getUserFromJID(event["from"].jid) | ||||
| @@ -102,7 +102,7 @@ Example 14-3. (Page 217) | ||||
|  | ||||
| The main difference for the configurable IM bot is the handling for the | ||||
| data form in ``handleConfigurationCommand``. The test for equality | ||||
| with the string ``"1"`` is no longer required; SleekXMPP converts | ||||
| with the string ``"1"`` is no longer required; Slixmpp converts | ||||
| boolean data form fields to the values ``True`` and ``False`` | ||||
| automatically. | ||||
|  | ||||
| @@ -192,7 +192,7 @@ After applying the changes from Example 14-4 above, the registrable component | ||||
| implementation should work correctly. | ||||
|  | ||||
| .. tip:: | ||||
|     To see how to implement in-band registration as a SleekXMPP plugin, | ||||
|     To see how to implement in-band registration as a Slixmpp plugin, | ||||
|     see the tutorial :ref:`tutorial-create-plugin`. | ||||
|  | ||||
| `View full source <http://github.com/legastero/xmpp-tdg/blob/master/code/CheshiR/RegistrableComponent.py>`_ | | ||||
| @@ -209,7 +209,7 @@ Example 14-7. (Page 225) | ||||
|  | ||||
| While the final code example can look daunting with all of the changes | ||||
| made, it requires very few modifications to work with the latest version of | ||||
| SleekXMPP. Most differences are the result of CheshiR's backend functions | ||||
| Slixmpp. Most differences are the result of CheshiR's backend functions | ||||
| expecting JIDs to be strings so that they can be stripped to bare JIDs. To | ||||
| resolve these, use the ``jid`` attribute of the JID objects. Also, | ||||
| references to ``"message"`` and ``"jid"`` attributes need to | ||||
|   | ||||
| @@ -2,11 +2,11 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Slixmpp: The Slick XMPP Library | ||||
|     Implementation of xeps for Internet of Things | ||||
|     http://wiki.xmpp.org/web/Tech_pages/IoT_systems | ||||
|     Copyright (C) 2013 Sustainable Innovation, Joachim.lindborg@sust.se | ||||
|     This file is part of SleekXMPP. | ||||
|     This file is part of Slixmpp. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
| @@ -14,7 +14,7 @@ | ||||
| import os | ||||
| import sys | ||||
| # This can be used when you are in a test environment and need to make paths right | ||||
| sys.path=['/Users/jocke/Dropbox/06_dev/SleekXMPP']+sys.path | ||||
| sys.path=['/Users/jocke/Dropbox/06_dev/Slixmpp']+sys.path | ||||
|  | ||||
| import logging | ||||
| import unittest | ||||
| @@ -26,28 +26,28 @@ from os.path import splitext, basename, join as pjoin | ||||
| from optparse import OptionParser | ||||
| from urllib import urlopen | ||||
|  | ||||
| import sleekxmpp | ||||
| import slixmpp | ||||
| # Python versions before 3.0 do not use UTF-8 encoding | ||||
| # by default. To ensure that Unicode is handled properly | ||||
| # throughout SleekXMPP, we will set the default encoding | ||||
| # throughout Slixmpp, we will set the default encoding | ||||
| # ourselves to UTF-8. | ||||
| if sys.version_info < (3, 0): | ||||
|     from sleekxmpp.util.misc_ops import setdefaultencoding | ||||
|     from slixmpp.util.misc_ops import setdefaultencoding | ||||
|     setdefaultencoding('utf8') | ||||
| else: | ||||
|     raw_input = input | ||||
|  | ||||
| from sleekxmpp.plugins.xep_0323.device import Device | ||||
| from slixmpp.plugins.xep_0323.device import Device | ||||
|  | ||||
| #from sleekxmpp.exceptions import IqError, IqTimeout | ||||
| #from slixmpp.exceptions import IqError, IqTimeout | ||||
|  | ||||
| class IoT_TestDevice(sleekxmpp.ClientXMPP): | ||||
| class IoT_TestDevice(slixmpp.ClientXMPP): | ||||
|  | ||||
|     """ | ||||
|     A simple IoT device that can act as server or client | ||||
|     """ | ||||
|     def __init__(self, jid, password): | ||||
|         sleekxmpp.ClientXMPP.__init__(self, jid, password) | ||||
|         slixmpp.ClientXMPP.__init__(self, jid, password) | ||||
|         self.add_event_handler("session_start", self.session_start) | ||||
|         self.add_event_handler("message", self.message) | ||||
|         self.device=None | ||||
|   | ||||
| @@ -2,9 +2,9 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Slixmpp: The Slick XMPP Library | ||||
|     Copyright (C) 2010  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|     This file is part of Slixmpp. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
| @@ -14,28 +14,28 @@ import logging | ||||
| import getpass | ||||
| from optparse import OptionParser | ||||
|  | ||||
| import sleekxmpp | ||||
| import slixmpp | ||||
|  | ||||
| # Python versions before 3.0 do not use UTF-8 encoding | ||||
| # by default. To ensure that Unicode is handled properly | ||||
| # throughout SleekXMPP, we will set the default encoding | ||||
| # throughout Slixmpp, we will set the default encoding | ||||
| # ourselves to UTF-8. | ||||
| if sys.version_info < (3, 0): | ||||
|     from sleekxmpp.util.misc_ops import setdefaultencoding | ||||
|     from slixmpp.util.misc_ops import setdefaultencoding | ||||
|     setdefaultencoding('utf8') | ||||
| else: | ||||
|     raw_input = input | ||||
|  | ||||
|  | ||||
| class CommandBot(sleekxmpp.ClientXMPP): | ||||
| class CommandBot(slixmpp.ClientXMPP): | ||||
|  | ||||
|     """ | ||||
|     A simple SleekXMPP bot that provides a basic | ||||
|     A simple Slixmpp bot that provides a basic | ||||
|     adhoc command. | ||||
|     """ | ||||
|  | ||||
|     def __init__(self, jid, password): | ||||
|         sleekxmpp.ClientXMPP.__init__(self, jid, password) | ||||
|         slixmpp.ClientXMPP.__init__(self, jid, password) | ||||
|  | ||||
|         # The session_start event will be triggered when | ||||
|         # the bot establishes its connection with the server | ||||
|   | ||||
| @@ -2,9 +2,9 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Slixmpp: The Slick XMPP Library | ||||
|     Copyright (C) 2010  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|     This file is part of Slixmpp. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
| @@ -14,28 +14,28 @@ import logging | ||||
| import getpass | ||||
| from optparse import OptionParser | ||||
|  | ||||
| import sleekxmpp | ||||
| import slixmpp | ||||
|  | ||||
| # Python versions before 3.0 do not use UTF-8 encoding | ||||
| # by default. To ensure that Unicode is handled properly | ||||
| # throughout SleekXMPP, we will set the default encoding | ||||
| # throughout Slixmpp, we will set the default encoding | ||||
| # ourselves to UTF-8. | ||||
| if sys.version_info < (3, 0): | ||||
|     from sleekxmpp.util.misc_ops import setdefaultencoding | ||||
|     from slixmpp.util.misc_ops import setdefaultencoding | ||||
|     setdefaultencoding('utf8') | ||||
| else: | ||||
|     raw_input = input | ||||
|  | ||||
|  | ||||
| class CommandUserBot(sleekxmpp.ClientXMPP): | ||||
| class CommandUserBot(slixmpp.ClientXMPP): | ||||
|  | ||||
|     """ | ||||
|     A simple SleekXMPP bot that uses the adhoc command | ||||
|     A simple Slixmpp bot that uses the adhoc command | ||||
|     provided by the adhoc_provider.py example. | ||||
|     """ | ||||
|  | ||||
|     def __init__(self, jid, password, other, greeting): | ||||
|         sleekxmpp.ClientXMPP.__init__(self, jid, password) | ||||
|         slixmpp.ClientXMPP.__init__(self, jid, password) | ||||
|  | ||||
|         self.command_provider = other | ||||
|         self.greeting = greeting | ||||
|   | ||||
| @@ -2,9 +2,9 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Slixmpp: The Slick XMPP Library | ||||
|     Copyright (C) 2010  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|     This file is part of Slixmpp. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
| @@ -14,28 +14,28 @@ import logging | ||||
| import getpass | ||||
| from optparse import OptionParser | ||||
|  | ||||
| import sleekxmpp | ||||
| import slixmpp | ||||
|  | ||||
| # Python versions before 3.0 do not use UTF-8 encoding | ||||
| # by default. To ensure that Unicode is handled properly | ||||
| # throughout SleekXMPP, we will set the default encoding | ||||
| # throughout Slixmpp, we will set the default encoding | ||||
| # ourselves to UTF-8. | ||||
| if sys.version_info < (3, 0): | ||||
|     from sleekxmpp.util.misc_ops import setdefaultencoding | ||||
|     from slixmpp.util.misc_ops import setdefaultencoding | ||||
|     setdefaultencoding('utf8') | ||||
| else: | ||||
|     raw_input = input | ||||
|  | ||||
|  | ||||
| class AdminCommands(sleekxmpp.ClientXMPP): | ||||
| class AdminCommands(slixmpp.ClientXMPP): | ||||
|  | ||||
|     """ | ||||
|     A simple SleekXMPP bot that uses admin commands to | ||||
|     A simple Slixmpp bot that uses admin commands to | ||||
|     add a new user to a server. | ||||
|     """ | ||||
|  | ||||
|     def __init__(self, jid, password, command): | ||||
|         sleekxmpp.ClientXMPP.__init__(self, jid, password) | ||||
|         slixmpp.ClientXMPP.__init__(self, jid, password) | ||||
|  | ||||
|         self.command = command | ||||
|  | ||||
|   | ||||
| @@ -2,9 +2,9 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Slixmpp: The Slick XMPP Library | ||||
|     Copyright (C) 2010  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|     This file is part of Slixmpp. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
| @@ -14,35 +14,35 @@ import logging | ||||
| import getpass | ||||
| from optparse import OptionParser | ||||
|  | ||||
| import sleekxmpp | ||||
| import slixmpp | ||||
|  | ||||
| from sleekxmpp import ClientXMPP, Iq | ||||
| from sleekxmpp.exceptions import IqError, IqTimeout, XMPPError | ||||
| from sleekxmpp.xmlstream import register_stanza_plugin | ||||
| from sleekxmpp.xmlstream.handler import Callback | ||||
| from sleekxmpp.xmlstream.matcher import StanzaPath | ||||
| from slixmpp import ClientXMPP, Iq | ||||
| from slixmpp.exceptions import IqError, IqTimeout, XMPPError | ||||
| from slixmpp.xmlstream import register_stanza_plugin | ||||
| from slixmpp.xmlstream.handler import Callback | ||||
| from slixmpp.xmlstream.matcher import StanzaPath | ||||
| from stanza import Action | ||||
|  | ||||
| # Python versions before 3.0 do not use UTF-8 encoding | ||||
| # by default. To ensure that Unicode is handled properly | ||||
| # throughout SleekXMPP, we will set the default encoding | ||||
| # throughout Slixmpp, we will set the default encoding | ||||
| # ourselves to UTF-8. | ||||
| if sys.version_info < (3, 0): | ||||
|     from sleekxmpp.util.misc_ops import setdefaultencoding | ||||
|     from slixmpp.util.misc_ops import setdefaultencoding | ||||
|     setdefaultencoding('utf8') | ||||
| else: | ||||
|     raw_input = input | ||||
|  | ||||
|  | ||||
| class ActionBot(sleekxmpp.ClientXMPP): | ||||
| class ActionBot(slixmpp.ClientXMPP): | ||||
|  | ||||
|     """ | ||||
|     A simple SleekXMPP bot that receives a custom stanza | ||||
|     A simple Slixmpp bot that receives a custom stanza | ||||
|     from another client. | ||||
|     """ | ||||
|  | ||||
|     def __init__(self, jid, password): | ||||
|         sleekxmpp.ClientXMPP.__init__(self, jid, password) | ||||
|         slixmpp.ClientXMPP.__init__(self, jid, password) | ||||
|  | ||||
|         # The session_start event will be triggered when | ||||
|         # the bot establishes its connection with the server | ||||
|   | ||||
| @@ -2,9 +2,9 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Slixmpp: The Slick XMPP Library | ||||
|     Copyright (C) 2010  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|     This file is part of Slixmpp. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
| @@ -14,33 +14,33 @@ import logging | ||||
| import getpass | ||||
| from optparse import OptionParser | ||||
|  | ||||
| import sleekxmpp | ||||
| from sleekxmpp import Iq | ||||
| from sleekxmpp.exceptions import XMPPError | ||||
| from sleekxmpp.xmlstream import register_stanza_plugin | ||||
| import slixmpp | ||||
| from slixmpp import Iq | ||||
| from slixmpp.exceptions import XMPPError | ||||
| from slixmpp.xmlstream import register_stanza_plugin | ||||
|  | ||||
| from stanza import Action | ||||
|  | ||||
| # Python versions before 3.0 do not use UTF-8 encoding | ||||
| # by default. To ensure that Unicode is handled properly | ||||
| # throughout SleekXMPP, we will set the default encoding | ||||
| # throughout Slixmpp, we will set the default encoding | ||||
| # ourselves to UTF-8. | ||||
| if sys.version_info < (3, 0): | ||||
|     from sleekxmpp.util.misc_ops import setdefaultencoding | ||||
|     from slixmpp.util.misc_ops import setdefaultencoding | ||||
|     setdefaultencoding('utf8') | ||||
| else: | ||||
|     raw_input = input | ||||
|  | ||||
|  | ||||
| class ActionUserBot(sleekxmpp.ClientXMPP): | ||||
| class ActionUserBot(slixmpp.ClientXMPP): | ||||
|  | ||||
|     """ | ||||
|     A simple SleekXMPP bot that sends a custom action stanza | ||||
|     A simple Slixmpp bot that sends a custom action stanza | ||||
|     to another client. | ||||
|     """ | ||||
|  | ||||
|     def __init__(self, jid, password, other): | ||||
|         sleekxmpp.ClientXMPP.__init__(self, jid, password) | ||||
|         slixmpp.ClientXMPP.__init__(self, jid, password) | ||||
|  | ||||
|         self.action_provider = other | ||||
|  | ||||
|   | ||||
| @@ -1,11 +1,11 @@ | ||||
| from sleekxmpp.xmlstream import ElementBase | ||||
| from slixmpp.xmlstream import ElementBase | ||||
|  | ||||
| class Action(ElementBase): | ||||
|  | ||||
|     """ | ||||
|     A stanza class for XML content of the form: | ||||
|  | ||||
|     <action xmlns="sleekxmpp:custom:actions"> | ||||
|     <action xmlns="slixmpp:custom:actions"> | ||||
|       <method>X</method> | ||||
|       <param>X</param> | ||||
|       <status>X</status> | ||||
| @@ -17,7 +17,7 @@ class Action(ElementBase): | ||||
|     name = 'action' | ||||
|  | ||||
|     #: The namespace of the main XML tag. | ||||
|     namespace = 'sleekxmpp:custom:actions' | ||||
|     namespace = 'slixmpp:custom:actions' | ||||
|  | ||||
|     #: The `plugin_attrib` value is the name that can be used | ||||
|     #: with a parent stanza to access this stanza. For example | ||||
| @@ -50,7 +50,7 @@ class Action(ElementBase): | ||||
|     #: are marked as sub_interfaces, and so the XML produced will | ||||
|     #: look like: | ||||
|     #:  | ||||
|     #:     <action xmlns="sleekxmpp:custom:actions"> | ||||
|     #:     <action xmlns="slixmpp:custom:actions"> | ||||
|     #:       <method>foo</method> | ||||
|     #:     </action> | ||||
|     sub_interfaces = interfaces | ||||
|   | ||||
| @@ -2,9 +2,9 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Slixmpp: The Slick XMPP Library | ||||
|     Copyright (C) 2010  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|     This file is part of Slixmpp. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
| @@ -14,22 +14,22 @@ import logging | ||||
| import getpass | ||||
| from optparse import OptionParser | ||||
|  | ||||
| import sleekxmpp | ||||
| from sleekxmpp.exceptions import IqError, IqTimeout | ||||
| import slixmpp | ||||
| from slixmpp.exceptions import IqError, IqTimeout | ||||
|  | ||||
|  | ||||
| # Python versions before 3.0 do not use UTF-8 encoding | ||||
| # by default. To ensure that Unicode is handled properly | ||||
| # throughout SleekXMPP, we will set the default encoding | ||||
| # throughout Slixmpp, we will set the default encoding | ||||
| # ourselves to UTF-8. | ||||
| if sys.version_info < (3, 0): | ||||
|     from sleekxmpp.util.misc_ops import setdefaultencoding | ||||
|     from slixmpp.util.misc_ops import setdefaultencoding | ||||
|     setdefaultencoding('utf8') | ||||
| else: | ||||
|     raw_input = input | ||||
|  | ||||
|  | ||||
| class Disco(sleekxmpp.ClientXMPP): | ||||
| class Disco(slixmpp.ClientXMPP): | ||||
|  | ||||
|     """ | ||||
|     A demonstration for using basic service discovery. | ||||
| @@ -42,7 +42,7 @@ class Disco(sleekxmpp.ClientXMPP): | ||||
|     """ | ||||
|  | ||||
|     def __init__(self, jid, password, target_jid, target_node='', get=''): | ||||
|         sleekxmpp.ClientXMPP.__init__(self, jid, password) | ||||
|         slixmpp.ClientXMPP.__init__(self, jid, password) | ||||
|  | ||||
|         # Using service discovery requires the XEP-0030 plugin. | ||||
|         self.register_plugin('xep_0030') | ||||
|   | ||||
| @@ -2,9 +2,9 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Slixmpp: The Slick XMPP Library | ||||
|     Copyright (C) 2012  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|     This file is part of Slixmpp. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
| @@ -15,16 +15,16 @@ import getpass | ||||
| import threading | ||||
| from optparse import OptionParser | ||||
|  | ||||
| import sleekxmpp | ||||
| from sleekxmpp.exceptions import XMPPError | ||||
| import slixmpp | ||||
| from slixmpp.exceptions import XMPPError | ||||
|  | ||||
|  | ||||
| # Python versions before 3.0 do not use UTF-8 encoding | ||||
| # by default. To ensure that Unicode is handled properly | ||||
| # throughout SleekXMPP, we will set the default encoding | ||||
| # throughout Slixmpp, we will set the default encoding | ||||
| # ourselves to UTF-8. | ||||
| if sys.version_info < (3, 0): | ||||
|     from sleekxmpp.util.misc_ops import setdefaultencoding | ||||
|     from slixmpp.util.misc_ops import setdefaultencoding | ||||
|     setdefaultencoding('utf8') | ||||
| else: | ||||
|     raw_input = input | ||||
| @@ -37,14 +37,14 @@ FILE_TYPES = { | ||||
| } | ||||
|  | ||||
|  | ||||
| class AvatarDownloader(sleekxmpp.ClientXMPP): | ||||
| class AvatarDownloader(slixmpp.ClientXMPP): | ||||
|  | ||||
|     """ | ||||
|     A basic script for downloading the avatars for a user's contacts. | ||||
|     """ | ||||
|  | ||||
|     def __init__(self, jid, password): | ||||
|         sleekxmpp.ClientXMPP.__init__(self, jid, password) | ||||
|         slixmpp.ClientXMPP.__init__(self, jid, password) | ||||
|         self.add_event_handler("session_start", self.start, threaded=True) | ||||
|         self.add_event_handler("changed_status", self.wait_for_presences) | ||||
|  | ||||
|   | ||||
| @@ -2,9 +2,9 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Slixmpp: The Slick XMPP Library | ||||
|     Copyright (C) 2010  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|     This file is part of Slixmpp. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
| @@ -14,28 +14,28 @@ import logging | ||||
| import getpass | ||||
| from optparse import OptionParser | ||||
|  | ||||
| import sleekxmpp | ||||
| import slixmpp | ||||
|  | ||||
| # Python versions before 3.0 do not use UTF-8 encoding | ||||
| # by default. To ensure that Unicode is handled properly | ||||
| # throughout SleekXMPP, we will set the default encoding | ||||
| # throughout Slixmpp, we will set the default encoding | ||||
| # ourselves to UTF-8. | ||||
| if sys.version_info < (3, 0): | ||||
|     from sleekxmpp.util.misc_ops import setdefaultencoding | ||||
|     from slixmpp.util.misc_ops import setdefaultencoding | ||||
|     setdefaultencoding('utf8') | ||||
| else: | ||||
|     raw_input = input | ||||
|  | ||||
|  | ||||
| class EchoBot(sleekxmpp.ClientXMPP): | ||||
| class EchoBot(slixmpp.ClientXMPP): | ||||
|  | ||||
|     """ | ||||
|     A simple SleekXMPP bot that will echo messages it | ||||
|     A simple Slixmpp bot that will echo messages it | ||||
|     receives, along with a short thank you message. | ||||
|     """ | ||||
|  | ||||
|     def __init__(self, jid, password): | ||||
|         sleekxmpp.ClientXMPP.__init__(self, jid, password) | ||||
|         slixmpp.ClientXMPP.__init__(self, jid, password) | ||||
|  | ||||
|         # The session_start event will be triggered when | ||||
|         # the bot establishes its connection with the server | ||||
|   | ||||
| @@ -2,9 +2,9 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Slixmpp: The Slick XMPP Library | ||||
|     Copyright (C) 2010  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|     This file is part of Slixmpp. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
| @@ -14,15 +14,15 @@ import logging | ||||
| import getpass | ||||
| from optparse import OptionParser | ||||
|  | ||||
| import sleekxmpp | ||||
| from sleekxmpp.componentxmpp import ComponentXMPP | ||||
| import slixmpp | ||||
| from slixmpp.componentxmpp import ComponentXMPP | ||||
|  | ||||
| # Python versions before 3.0 do not use UTF-8 encoding | ||||
| # by default. To ensure that Unicode is handled properly | ||||
| # throughout SleekXMPP, we will set the default encoding | ||||
| # throughout Slixmpp, we will set the default encoding | ||||
| # ourselves to UTF-8. | ||||
| if sys.version_info < (3, 0): | ||||
|     from sleekxmpp.util.misc_ops import setdefaultencoding | ||||
|     from slixmpp.util.misc_ops import setdefaultencoding | ||||
|     setdefaultencoding('utf8') | ||||
| else: | ||||
|     raw_input = input | ||||
| @@ -31,7 +31,7 @@ else: | ||||
| class EchoComponent(ComponentXMPP): | ||||
|  | ||||
|     """ | ||||
|     A simple SleekXMPP component that echoes messages. | ||||
|     A simple Slixmpp component that echoes messages. | ||||
|     """ | ||||
|  | ||||
|     def __init__(self, jid, secret, server, port): | ||||
|   | ||||
| @@ -2,9 +2,9 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Slixmpp: The Slick XMPP Library | ||||
|     Copyright (C) 2010  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|     This file is part of Slixmpp. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
| @@ -14,33 +14,33 @@ import logging | ||||
| import getpass | ||||
| from optparse import OptionParser | ||||
|  | ||||
| import sleekxmpp | ||||
| import slixmpp | ||||
|  | ||||
| import ssl | ||||
| from sleekxmpp.xmlstream import cert | ||||
| from slixmpp.xmlstream import cert | ||||
|  | ||||
|  | ||||
| # Python versions before 3.0 do not use UTF-8 encoding | ||||
| # by default. To ensure that Unicode is handled properly | ||||
| # throughout SleekXMPP, we will set the default encoding | ||||
| # throughout Slixmpp, we will set the default encoding | ||||
| # ourselves to UTF-8. | ||||
| if sys.version_info < (3, 0): | ||||
|     from sleekxmpp.util.misc_ops import setdefaultencoding | ||||
|     from slixmpp.util.misc_ops import setdefaultencoding | ||||
|     setdefaultencoding('utf8') | ||||
| else: | ||||
|     raw_input = input | ||||
|  | ||||
|  | ||||
| class GTalkBot(sleekxmpp.ClientXMPP): | ||||
| class GTalkBot(slixmpp.ClientXMPP): | ||||
|  | ||||
|     """ | ||||
|     A demonstration of using SleekXMPP with accounts from a Google Apps | ||||
|     A demonstration of using Slixmpp with accounts from a Google Apps | ||||
|     account with a custom domain, because it requires custom certificate | ||||
|     validation. | ||||
|     """ | ||||
|  | ||||
|     def __init__(self, jid, password): | ||||
|         sleekxmpp.ClientXMPP.__init__(self, jid, password) | ||||
|         slixmpp.ClientXMPP.__init__(self, jid, password) | ||||
|  | ||||
|         # The session_start event will be triggered when | ||||
|         # the bot establishes its connection with the server | ||||
|   | ||||
| @@ -2,9 +2,9 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Slixmpp: The Slick XMPP Library | ||||
|     Copyright (C) 2010  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|     This file is part of Slixmpp. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
| @@ -14,27 +14,27 @@ import logging | ||||
| import getpass | ||||
| from optparse import OptionParser | ||||
|  | ||||
| import sleekxmpp | ||||
| import slixmpp | ||||
|  | ||||
| # Python versions before 3.0 do not use UTF-8 encoding | ||||
| # by default. To ensure that Unicode is handled properly | ||||
| # throughout SleekXMPP, we will set the default encoding | ||||
| # throughout Slixmpp, we will set the default encoding | ||||
| # ourselves to UTF-8. | ||||
| if sys.version_info < (3, 0): | ||||
|     from sleekxmpp.util.misc_ops import setdefaultencoding | ||||
|     from slixmpp.util.misc_ops import setdefaultencoding | ||||
|     setdefaultencoding('utf8') | ||||
| else: | ||||
|     raw_input = input | ||||
|  | ||||
|  | ||||
| class IBBReceiver(sleekxmpp.ClientXMPP): | ||||
| class IBBReceiver(slixmpp.ClientXMPP): | ||||
|  | ||||
|     """ | ||||
|     A basic example of creating and using an in-band bytestream. | ||||
|     """ | ||||
|  | ||||
|     def __init__(self, jid, password): | ||||
|         sleekxmpp.ClientXMPP.__init__(self, jid, password) | ||||
|         slixmpp.ClientXMPP.__init__(self, jid, password) | ||||
|  | ||||
|         self.register_plugin('xep_0030') # Service Discovery | ||||
|         self.register_plugin('xep_0047', { | ||||
|   | ||||
| @@ -2,9 +2,9 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Slixmpp: The Slick XMPP Library | ||||
|     Copyright (C) 2010  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|     This file is part of Slixmpp. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
| @@ -14,27 +14,27 @@ import logging | ||||
| import getpass | ||||
| from optparse import OptionParser | ||||
|  | ||||
| import sleekxmpp | ||||
| import slixmpp | ||||
|  | ||||
| # Python versions before 3.0 do not use UTF-8 encoding | ||||
| # by default. To ensure that Unicode is handled properly | ||||
| # throughout SleekXMPP, we will set the default encoding | ||||
| # throughout Slixmpp, we will set the default encoding | ||||
| # ourselves to UTF-8. | ||||
| if sys.version_info < (3, 0): | ||||
|     from sleekxmpp.util.misc_ops import setdefaultencoding | ||||
|     from slixmpp.util.misc_ops import setdefaultencoding | ||||
|     setdefaultencoding('utf8') | ||||
| else: | ||||
|     raw_input = input | ||||
|  | ||||
|  | ||||
| class IBBSender(sleekxmpp.ClientXMPP): | ||||
| class IBBSender(slixmpp.ClientXMPP): | ||||
|  | ||||
|     """ | ||||
|     A basic example of creating and using an in-band bytestream. | ||||
|     """ | ||||
|  | ||||
|     def __init__(self, jid, password, receiver, filename): | ||||
|         sleekxmpp.ClientXMPP.__init__(self, jid, password) | ||||
|         slixmpp.ClientXMPP.__init__(self, jid, password) | ||||
|  | ||||
|         self.receiver = receiver | ||||
|         self.filename = filename | ||||
|   | ||||
| @@ -6,14 +6,14 @@ import logging | ||||
| import getpass | ||||
| from optparse import OptionParser | ||||
|  | ||||
| import sleekxmpp | ||||
| import slixmpp | ||||
|  | ||||
| # Python versions before 3.0 do not use UTF-8 encoding | ||||
| # by default. To ensure that Unicode is handled properly | ||||
| # throughout SleekXMPP, we will set the default encoding | ||||
| # throughout Slixmpp, we will set the default encoding | ||||
| # ourselves to UTF-8. | ||||
| if sys.version_info < (3, 0): | ||||
|     from sleekxmpp.util.misc_ops import setdefaultencoding | ||||
|     from slixmpp.util.misc_ops import setdefaultencoding | ||||
|     setdefaultencoding('utf8') | ||||
| else: | ||||
|     raw_input = input | ||||
| @@ -62,7 +62,7 @@ if opts.new_password is None: | ||||
|     opts.new_password = getpass.getpass("New Password: ") | ||||
|  | ||||
|  | ||||
| old_xmpp = sleekxmpp.ClientXMPP(opts.old_jid, opts.old_password) | ||||
| old_xmpp = slixmpp.ClientXMPP(opts.old_jid, opts.old_password) | ||||
|  | ||||
| # If you are connecting to Facebook and wish to use the | ||||
| # X-FACEBOOK-PLATFORM authentication mechanism, you will need | ||||
| @@ -98,7 +98,7 @@ if not roster: | ||||
|     print('No roster to migrate') | ||||
|     sys.exit() | ||||
|  | ||||
| new_xmpp = sleekxmpp.ClientXMPP(opts.new_jid, opts.new_password) | ||||
| new_xmpp = slixmpp.ClientXMPP(opts.new_jid, opts.new_password) | ||||
| def on_session2(event): | ||||
|     new_xmpp.get_roster() | ||||
|     new_xmpp.send_presence() | ||||
|   | ||||
| @@ -2,9 +2,9 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Slixmpp: The Slick XMPP Library | ||||
|     Copyright (C) 2010  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|     This file is part of Slixmpp. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
| @@ -14,29 +14,29 @@ import logging | ||||
| import getpass | ||||
| from optparse import OptionParser | ||||
|  | ||||
| import sleekxmpp | ||||
| import slixmpp | ||||
|  | ||||
| # Python versions before 3.0 do not use UTF-8 encoding | ||||
| # by default. To ensure that Unicode is handled properly | ||||
| # throughout SleekXMPP, we will set the default encoding | ||||
| # throughout Slixmpp, we will set the default encoding | ||||
| # ourselves to UTF-8. | ||||
| if sys.version_info < (3, 0): | ||||
|     from sleekxmpp.util.misc_ops import setdefaultencoding | ||||
|     from slixmpp.util.misc_ops import setdefaultencoding | ||||
|     setdefaultencoding('utf8') | ||||
| else: | ||||
|     raw_input = input | ||||
|  | ||||
|  | ||||
| class MUCBot(sleekxmpp.ClientXMPP): | ||||
| class MUCBot(slixmpp.ClientXMPP): | ||||
|  | ||||
|     """ | ||||
|     A simple SleekXMPP bot that will greets those | ||||
|     A simple Slixmpp bot that will greets those | ||||
|     who enter the room, and acknowledge any messages | ||||
|     that mentions the bot's nickname. | ||||
|     """ | ||||
|  | ||||
|     def __init__(self, jid, password, room, nick): | ||||
|         sleekxmpp.ClientXMPP.__init__(self, jid, password) | ||||
|         slixmpp.ClientXMPP.__init__(self, jid, password) | ||||
|  | ||||
|         self.room = room | ||||
|         self.nick = nick | ||||
|   | ||||
| @@ -2,9 +2,9 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Slixmpp: The Slick XMPP Library | ||||
|     Copyright (C) 2010  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|     This file is part of Slixmpp. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
| @@ -14,28 +14,28 @@ import logging | ||||
| import getpass | ||||
| from optparse import OptionParser | ||||
|  | ||||
| import sleekxmpp | ||||
| import slixmpp | ||||
|  | ||||
| # Python versions before 3.0 do not use UTF-8 encoding | ||||
| # by default. To ensure that Unicode is handled properly | ||||
| # throughout SleekXMPP, we will set the default encoding | ||||
| # throughout Slixmpp, we will set the default encoding | ||||
| # ourselves to UTF-8. | ||||
| if sys.version_info < (3, 0): | ||||
|     from sleekxmpp.util.misc_ops import setdefaultencoding | ||||
|     from slixmpp.util.misc_ops import setdefaultencoding | ||||
|     setdefaultencoding('utf8') | ||||
| else: | ||||
|     raw_input = input | ||||
|  | ||||
|  | ||||
| class PingTest(sleekxmpp.ClientXMPP): | ||||
| class PingTest(slixmpp.ClientXMPP): | ||||
|  | ||||
|     """ | ||||
|     A simple SleekXMPP bot that will send a ping request | ||||
|     A simple Slixmpp bot that will send a ping request | ||||
|     to a given JID. | ||||
|     """ | ||||
|  | ||||
|     def __init__(self, jid, password, pingjid): | ||||
|         sleekxmpp.ClientXMPP.__init__(self, jid, password) | ||||
|         slixmpp.ClientXMPP.__init__(self, jid, password) | ||||
|         if pingjid is None: | ||||
|             pingjid = self.boundjid.bare | ||||
|         self.pingjid = pingjid | ||||
|   | ||||
| @@ -2,9 +2,9 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Slixmpp: The Slick XMPP Library | ||||
|     Copyright (C) 2010  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|     This file is part of Slixmpp. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
| @@ -14,28 +14,28 @@ import logging | ||||
| import getpass | ||||
| from optparse import OptionParser | ||||
|  | ||||
| import sleekxmpp | ||||
| import slixmpp | ||||
|  | ||||
| # Python versions before 3.0 do not use UTF-8 encoding | ||||
| # by default. To ensure that Unicode is handled properly | ||||
| # throughout SleekXMPP, we will set the default encoding | ||||
| # throughout Slixmpp, we will set the default encoding | ||||
| # ourselves to UTF-8. | ||||
| if sys.version_info < (3, 0): | ||||
|     from sleekxmpp.util.misc_ops import setdefaultencoding | ||||
|     from slixmpp.util.misc_ops import setdefaultencoding | ||||
|     setdefaultencoding('utf8') | ||||
| else: | ||||
|     raw_input = input | ||||
|  | ||||
|  | ||||
| class EchoBot(sleekxmpp.ClientXMPP): | ||||
| class EchoBot(slixmpp.ClientXMPP): | ||||
|  | ||||
|     """ | ||||
|     A simple SleekXMPP bot that will echo messages it | ||||
|     A simple Slixmpp bot that will echo messages it | ||||
|     receives, along with a short thank you message. | ||||
|     """ | ||||
|  | ||||
|     def __init__(self, jid, password): | ||||
|         sleekxmpp.ClientXMPP.__init__(self, jid, password) | ||||
|         slixmpp.ClientXMPP.__init__(self, jid, password) | ||||
|  | ||||
|         # The session_start event will be triggered when | ||||
|         # the bot establishes its connection with the server | ||||
|   | ||||
| @@ -6,22 +6,22 @@ import logging | ||||
| import getpass | ||||
| from optparse import OptionParser | ||||
|  | ||||
| import sleekxmpp | ||||
| from sleekxmpp.xmlstream import ET, tostring | ||||
| import slixmpp | ||||
| from slixmpp.xmlstream import ET, tostring | ||||
|  | ||||
|  | ||||
| # Python versions before 3.0 do not use UTF-8 encoding | ||||
| # by default. To ensure that Unicode is handled properly | ||||
| # throughout SleekXMPP, we will set the default encoding | ||||
| # throughout Slixmpp, we will set the default encoding | ||||
| # ourselves to UTF-8. | ||||
| if sys.version_info < (3, 0): | ||||
|     from sleekxmpp.util.misc_ops import setdefaultencoding | ||||
|     from slixmpp.util.misc_ops import setdefaultencoding | ||||
|     setdefaultencoding('utf8') | ||||
| else: | ||||
|     raw_input = input | ||||
|  | ||||
|  | ||||
| class PubsubClient(sleekxmpp.ClientXMPP): | ||||
| class PubsubClient(slixmpp.ClientXMPP): | ||||
|  | ||||
|     def __init__(self, jid, password, server, | ||||
|                        node=None, action='list', data=''): | ||||
|   | ||||
| @@ -6,24 +6,24 @@ import logging | ||||
| import getpass | ||||
| from optparse import OptionParser | ||||
|  | ||||
| import sleekxmpp | ||||
| from sleekxmpp.xmlstream import ET, tostring | ||||
| from sleekxmpp.xmlstream.matcher import StanzaPath | ||||
| from sleekxmpp.xmlstream.handler import Callback | ||||
| import slixmpp | ||||
| from slixmpp.xmlstream import ET, tostring | ||||
| from slixmpp.xmlstream.matcher import StanzaPath | ||||
| from slixmpp.xmlstream.handler import Callback | ||||
|  | ||||
|  | ||||
| # Python versions before 3.0 do not use UTF-8 encoding | ||||
| # by default. To ensure that Unicode is handled properly | ||||
| # throughout SleekXMPP, we will set the default encoding | ||||
| # throughout Slixmpp, we will set the default encoding | ||||
| # ourselves to UTF-8. | ||||
| if sys.version_info < (3, 0): | ||||
|     from sleekxmpp.util.misc_ops import setdefaultencoding | ||||
|     from slixmpp.util.misc_ops import setdefaultencoding | ||||
|     setdefaultencoding('utf8') | ||||
| else: | ||||
|     raw_input = input | ||||
|  | ||||
|  | ||||
| class PubsubEvents(sleekxmpp.ClientXMPP): | ||||
| class PubsubEvents(slixmpp.ClientXMPP): | ||||
|  | ||||
|     def __init__(self, jid, password): | ||||
|         super(PubsubEvents, self).__init__(jid, password) | ||||
|   | ||||
| @@ -2,9 +2,9 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Slixmpp: The Slick XMPP Library | ||||
|     Copyright (C) 2010  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|     This file is part of Slixmpp. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
| @@ -14,21 +14,21 @@ import logging | ||||
| import getpass | ||||
| from optparse import OptionParser | ||||
|  | ||||
| import sleekxmpp | ||||
| from sleekxmpp.exceptions import IqError, IqTimeout | ||||
| import slixmpp | ||||
| from slixmpp.exceptions import IqError, IqTimeout | ||||
|  | ||||
| # Python versions before 3.0 do not use UTF-8 encoding | ||||
| # by default. To ensure that Unicode is handled properly | ||||
| # throughout SleekXMPP, we will set the default encoding | ||||
| # throughout Slixmpp, we will set the default encoding | ||||
| # ourselves to UTF-8. | ||||
| if sys.version_info < (3, 0): | ||||
|     from sleekxmpp.util.misc_ops import setdefaultencoding | ||||
|     from slixmpp.util.misc_ops import setdefaultencoding | ||||
|     setdefaultencoding('utf8') | ||||
| else: | ||||
|     raw_input = input | ||||
|  | ||||
|  | ||||
| class RegisterBot(sleekxmpp.ClientXMPP): | ||||
| class RegisterBot(slixmpp.ClientXMPP): | ||||
|  | ||||
|     """ | ||||
|     A basic bot that will attempt to register an account | ||||
| @@ -40,7 +40,7 @@ class RegisterBot(sleekxmpp.ClientXMPP): | ||||
|     """ | ||||
|  | ||||
|     def __init__(self, jid, password): | ||||
|         sleekxmpp.ClientXMPP.__init__(self, jid, password) | ||||
|         slixmpp.ClientXMPP.__init__(self, jid, password) | ||||
|  | ||||
|         # The session_start event will be triggered when | ||||
|         # the bot establishes its connection with the server | ||||
| @@ -54,7 +54,7 @@ class RegisterBot(sleekxmpp.ClientXMPP): | ||||
|         # the basic registration fields, a data form, an | ||||
|         # out-of-band URL, or any combination. For more advanced | ||||
|         # cases, you will need to examine the fields provided | ||||
|         # and respond accordingly. SleekXMPP provides plugins | ||||
|         # and respond accordingly. Slixmpp provides plugins | ||||
|         # for data forms and OOB links that will make that easier. | ||||
|         self.add_event_handler("register", self.register, threaded=True) | ||||
|  | ||||
|   | ||||
| @@ -2,9 +2,9 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Slixmpp: The Slick XMPP Library | ||||
|     Copyright (C) 2011  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|     This file is part of Slixmpp. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
| @@ -15,22 +15,22 @@ import getpass | ||||
| import threading | ||||
| from optparse import OptionParser | ||||
|  | ||||
| import sleekxmpp | ||||
| from sleekxmpp.exceptions import IqError, IqTimeout | ||||
| import slixmpp | ||||
| from slixmpp.exceptions import IqError, IqTimeout | ||||
|  | ||||
|  | ||||
| # Python versions before 3.0 do not use UTF-8 encoding | ||||
| # by default. To ensure that Unicode is handled properly | ||||
| # throughout SleekXMPP, we will set the default encoding | ||||
| # throughout Slixmpp, we will set the default encoding | ||||
| # ourselves to UTF-8. | ||||
| if sys.version_info < (3, 0): | ||||
|     from sleekxmpp.util.misc_ops import setdefaultencoding | ||||
|     from slixmpp.util.misc_ops import setdefaultencoding | ||||
|     setdefaultencoding('utf8') | ||||
| else: | ||||
|     raw_input = input | ||||
|  | ||||
|  | ||||
| class RosterBrowser(sleekxmpp.ClientXMPP): | ||||
| class RosterBrowser(slixmpp.ClientXMPP): | ||||
|  | ||||
|     """ | ||||
|     A basic script for dumping a client's roster to | ||||
| @@ -38,7 +38,7 @@ class RosterBrowser(sleekxmpp.ClientXMPP): | ||||
|     """ | ||||
|  | ||||
|     def __init__(self, jid, password): | ||||
|         sleekxmpp.ClientXMPP.__init__(self, jid, password) | ||||
|         slixmpp.ClientXMPP.__init__(self, jid, password) | ||||
|         # The session_start event will be triggered when | ||||
|         # the bot establishes its connection with the server | ||||
|         # and the XML streams are ready for use. We want to | ||||
|   | ||||
| @@ -2,14 +2,14 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Slixmpp: The Slick XMPP Library | ||||
|     Copyright (C) 2011  Dann Martens | ||||
|     This file is part of SleekXMPP. | ||||
|     This file is part of Slixmpp. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
|  | ||||
| from sleekxmpp.plugins.xep_0009.remote import Endpoint, remote, Remote, \ | ||||
| from slixmpp.plugins.xep_0009.remote import Endpoint, remote, Remote, \ | ||||
|     ANY_ALL, Future | ||||
| import time | ||||
|  | ||||
|   | ||||
| @@ -2,14 +2,14 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Slixmpp: The Slick XMPP Library | ||||
|     Copyright (C) 2011  Dann Martens | ||||
|     This file is part of SleekXMPP. | ||||
|     This file is part of Slixmpp. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
|  | ||||
| from sleekxmpp.plugins.xep_0009.remote import Endpoint, remote, Remote, \ | ||||
| from slixmpp.plugins.xep_0009.remote import Endpoint, remote, Remote, \ | ||||
|     ANY_ALL | ||||
| import threading | ||||
| import time | ||||
|   | ||||
| @@ -2,14 +2,14 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Slixmpp: The Slick XMPP Library | ||||
|     Copyright (C) 2011  Dann Martens | ||||
|     This file is part of SleekXMPP. | ||||
|     This file is part of Slixmpp. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
|  | ||||
| from sleekxmpp.plugins.xep_0009.remote import Endpoint, remote, Remote, \ | ||||
| from slixmpp.plugins.xep_0009.remote import Endpoint, remote, Remote, \ | ||||
|     ANY_ALL | ||||
| import threading | ||||
|  | ||||
|   | ||||
| @@ -2,9 +2,9 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Slixmpp: The Slick XMPP Library | ||||
|     Copyright (C) 2010  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|     This file is part of Slixmpp. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
| @@ -14,28 +14,28 @@ import logging | ||||
| import getpass | ||||
| from optparse import OptionParser | ||||
|  | ||||
| import sleekxmpp | ||||
| import slixmpp | ||||
|  | ||||
| # Python versions before 3.0 do not use UTF-8 encoding | ||||
| # by default. To ensure that Unicode is handled properly | ||||
| # throughout SleekXMPP, we will set the default encoding | ||||
| # throughout Slixmpp, we will set the default encoding | ||||
| # ourselves to UTF-8. | ||||
| if sys.version_info < (3, 0): | ||||
|     from sleekxmpp.util.misc_ops import setdefaultencoding | ||||
|     from slixmpp.util.misc_ops import setdefaultencoding | ||||
|     setdefaultencoding('utf8') | ||||
| else: | ||||
|     raw_input = input | ||||
|  | ||||
|  | ||||
| class SendMsgBot(sleekxmpp.ClientXMPP): | ||||
| class SendMsgBot(slixmpp.ClientXMPP): | ||||
|  | ||||
|     """ | ||||
|     A basic SleekXMPP bot that will log in, send a message, | ||||
|     A basic Slixmpp bot that will log in, send a message, | ||||
|     and then log out. | ||||
|     """ | ||||
|  | ||||
|     def __init__(self, jid, password, recipient, message): | ||||
|         sleekxmpp.ClientXMPP.__init__(self, jid, password) | ||||
|         slixmpp.ClientXMPP.__init__(self, jid, password) | ||||
|  | ||||
|         # The message we wish to send, and the JID that | ||||
|         # will receive it. | ||||
|   | ||||
| @@ -2,9 +2,9 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Slixmpp: The Slick XMPP Library | ||||
|     Copyright (C) 2012  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|     This file is part of Slixmpp. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
| @@ -17,29 +17,29 @@ import getpass | ||||
| import threading | ||||
| from optparse import OptionParser | ||||
|  | ||||
| import sleekxmpp | ||||
| from sleekxmpp.exceptions import XMPPError | ||||
| import slixmpp | ||||
| from slixmpp.exceptions import XMPPError | ||||
|  | ||||
|  | ||||
| # Python versions before 3.0 do not use UTF-8 encoding | ||||
| # by default. To ensure that Unicode is handled properly | ||||
| # throughout SleekXMPP, we will set the default encoding | ||||
| # throughout Slixmpp, we will set the default encoding | ||||
| # ourselves to UTF-8. | ||||
| if sys.version_info < (3, 0): | ||||
|     from sleekxmpp.util.misc_ops import setdefaultencoding | ||||
|     from slixmpp.util.misc_ops import setdefaultencoding | ||||
|     setdefaultencoding('utf8') | ||||
| else: | ||||
|     raw_input = input | ||||
|  | ||||
|  | ||||
| class AvatarSetter(sleekxmpp.ClientXMPP): | ||||
| class AvatarSetter(slixmpp.ClientXMPP): | ||||
|  | ||||
|     """ | ||||
|     A basic script for downloading the avatars for a user's contacts. | ||||
|     """ | ||||
|  | ||||
|     def __init__(self, jid, password, filepath): | ||||
|         sleekxmpp.ClientXMPP.__init__(self, jid, password) | ||||
|         slixmpp.ClientXMPP.__init__(self, jid, password) | ||||
|  | ||||
|         self.add_event_handler("session_start", self.start, threaded=True) | ||||
|  | ||||
|   | ||||
| @@ -2,9 +2,9 @@ | ||||
| # -*- coding: utf-8 -*- | ||||
|  | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Slixmpp: The Slick XMPP Library | ||||
|     Copyright (C) 2010  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|     This file is part of Slixmpp. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
| @@ -21,24 +21,24 @@ except ImportError: | ||||
|     from urllib.parse import urlencode | ||||
|     from http.client import HTTPSConnection | ||||
|  | ||||
| import sleekxmpp | ||||
| from sleekxmpp.xmlstream import JID | ||||
| import slixmpp | ||||
| from slixmpp.xmlstream import JID | ||||
|  | ||||
| # Python versions before 3.0 do not use UTF-8 encoding | ||||
| # by default. To ensure that Unicode is handled properly | ||||
| # throughout SleekXMPP, we will set the default encoding | ||||
| # throughout Slixmpp, we will set the default encoding | ||||
| # ourselves to UTF-8. | ||||
| if sys.version_info < (3, 0): | ||||
|     from sleekxmpp.util.misc_ops import setdefaultencoding | ||||
|     from slixmpp.util.misc_ops import setdefaultencoding | ||||
|     setdefaultencoding('utf8') | ||||
| else: | ||||
|     raw_input = input | ||||
|  | ||||
|  | ||||
| class ThirdPartyAuthBot(sleekxmpp.ClientXMPP): | ||||
| class ThirdPartyAuthBot(slixmpp.ClientXMPP): | ||||
|  | ||||
|     """ | ||||
|     A simple SleekXMPP bot that will echo messages it | ||||
|     A simple Slixmpp bot that will echo messages it | ||||
|     receives, along with a short thank you message. | ||||
|  | ||||
|     This version uses a thirdpary service for authentication, | ||||
| @@ -46,7 +46,7 @@ class ThirdPartyAuthBot(sleekxmpp.ClientXMPP): | ||||
|     """ | ||||
|  | ||||
|     def __init__(self, jid, password): | ||||
|         sleekxmpp.ClientXMPP.__init__(self, jid, password) | ||||
|         slixmpp.ClientXMPP.__init__(self, jid, password) | ||||
|  | ||||
|         # The X-GOOGLE-TOKEN mech is ranked lower than PLAIN | ||||
|         # due to Google only allowing a single SASL attempt per | ||||
| @@ -55,7 +55,7 @@ class ThirdPartyAuthBot(sleekxmpp.ClientXMPP): | ||||
|         # X-GOOGLE-TOKEN with a TLS connection, explicitly select | ||||
|         # it using: | ||||
|         # | ||||
|         # sleekxmpp.ClientXMPP.__init__(self, jid, password, | ||||
|         # slixmpp.ClientXMPP.__init__(self, jid, password, | ||||
|         #                               sasl_mech="X-GOOGLE-TOKEN") | ||||
|  | ||||
|         # The session_start event will be triggered when | ||||
|   | ||||
| @@ -16,7 +16,7 @@ except ImportError: | ||||
|     print('This demo requires the requests package for using HTTP.') | ||||
|     sys.exit() | ||||
|  | ||||
| from sleekxmpp import ClientXMPP | ||||
| from slixmpp import ClientXMPP | ||||
|  | ||||
|  | ||||
| class LocationBot(ClientXMPP): | ||||
|   | ||||
| @@ -11,7 +11,7 @@ except ImportError: | ||||
|     print('This demo requires the appscript package to interact with iTunes.') | ||||
|     sys.exit() | ||||
|  | ||||
| from sleekxmpp import ClientXMPP | ||||
| from slixmpp import ClientXMPP | ||||
|  | ||||
|  | ||||
| class TuneBot(ClientXMPP): | ||||
|   | ||||
							
								
								
									
										190
									
								
								setup.py
									
									
									
									
									
								
							
							
						
						
									
										190
									
								
								setup.py
									
									
									
									
									
								
							| @@ -16,7 +16,7 @@ except ImportError: | ||||
| # from ez_setup import use_setuptools | ||||
|  | ||||
| from testall import TestCommand | ||||
| from sleekxmpp.version import __version__ | ||||
| from slixmpp.version import __version__ | ||||
| # if 'cygwin' in sys.platform.lower(): | ||||
| #     min_version = '0.6c6' | ||||
| # else: | ||||
| @@ -31,7 +31,7 @@ from sleekxmpp.version import __version__ | ||||
| # from setuptools import setup, find_packages, Extension, Feature | ||||
|  | ||||
| VERSION          = __version__ | ||||
| DESCRIPTION      = 'SleekXMPP is an elegant Python library for XMPP (aka Jabber, Google Talk, etc).' | ||||
| DESCRIPTION      = 'Slixmpp is an elegant Python library for XMPP (aka Jabber, Google Talk, etc).' | ||||
| with codecs.open('README.rst', 'r', encoding='UTF-8') as readme: | ||||
|     LONG_DESCRIPTION = ''.join(readme) | ||||
|  | ||||
| @@ -46,107 +46,107 @@ CLASSIFIERS      = [ 'Intended Audience :: Developers', | ||||
|                      'Topic :: Software Development :: Libraries :: Python Modules', | ||||
|                    ] | ||||
|  | ||||
| packages     = [ 'sleekxmpp', | ||||
|                  'sleekxmpp/stanza', | ||||
|                  'sleekxmpp/test', | ||||
|                  'sleekxmpp/roster', | ||||
|                  'sleekxmpp/util', | ||||
|                  'sleekxmpp/util/sasl', | ||||
|                  'sleekxmpp/xmlstream', | ||||
|                  'sleekxmpp/xmlstream/matcher', | ||||
|                  'sleekxmpp/xmlstream/handler', | ||||
|                  'sleekxmpp/plugins', | ||||
|                  'sleekxmpp/plugins/xep_0004', | ||||
|                  'sleekxmpp/plugins/xep_0004/stanza', | ||||
|                  'sleekxmpp/plugins/xep_0009', | ||||
|                  'sleekxmpp/plugins/xep_0009/stanza', | ||||
|                  'sleekxmpp/plugins/xep_0012', | ||||
|                  'sleekxmpp/plugins/xep_0013', | ||||
|                  'sleekxmpp/plugins/xep_0016', | ||||
|                  'sleekxmpp/plugins/xep_0020', | ||||
|                  'sleekxmpp/plugins/xep_0027', | ||||
|                  'sleekxmpp/plugins/xep_0030', | ||||
|                  'sleekxmpp/plugins/xep_0030/stanza', | ||||
|                  'sleekxmpp/plugins/xep_0033', | ||||
|                  'sleekxmpp/plugins/xep_0047', | ||||
|                  'sleekxmpp/plugins/xep_0048', | ||||
|                  'sleekxmpp/plugins/xep_0049', | ||||
|                  'sleekxmpp/plugins/xep_0050', | ||||
|                  'sleekxmpp/plugins/xep_0054', | ||||
|                  'sleekxmpp/plugins/xep_0059', | ||||
|                  'sleekxmpp/plugins/xep_0060', | ||||
|                  'sleekxmpp/plugins/xep_0060/stanza', | ||||
|                  'sleekxmpp/plugins/xep_0065', | ||||
|                  'sleekxmpp/plugins/xep_0066', | ||||
|                  'sleekxmpp/plugins/xep_0071', | ||||
|                  'sleekxmpp/plugins/xep_0077', | ||||
|                  'sleekxmpp/plugins/xep_0078', | ||||
|                  'sleekxmpp/plugins/xep_0080', | ||||
|                  'sleekxmpp/plugins/xep_0084', | ||||
|                  'sleekxmpp/plugins/xep_0085', | ||||
|                  'sleekxmpp/plugins/xep_0086', | ||||
|                  'sleekxmpp/plugins/xep_0091', | ||||
|                  'sleekxmpp/plugins/xep_0092', | ||||
|                  'sleekxmpp/plugins/xep_0095', | ||||
|                  'sleekxmpp/plugins/xep_0096', | ||||
|                  'sleekxmpp/plugins/xep_0107', | ||||
|                  'sleekxmpp/plugins/xep_0108', | ||||
|                  'sleekxmpp/plugins/xep_0115', | ||||
|                  'sleekxmpp/plugins/xep_0118', | ||||
|                  'sleekxmpp/plugins/xep_0128', | ||||
|                  'sleekxmpp/plugins/xep_0131', | ||||
|                  'sleekxmpp/plugins/xep_0152', | ||||
|                  'sleekxmpp/plugins/xep_0153', | ||||
|                  'sleekxmpp/plugins/xep_0172', | ||||
|                  'sleekxmpp/plugins/xep_0184', | ||||
|                  'sleekxmpp/plugins/xep_0186', | ||||
|                  'sleekxmpp/plugins/xep_0191', | ||||
|                  'sleekxmpp/plugins/xep_0196', | ||||
|                  'sleekxmpp/plugins/xep_0198', | ||||
|                  'sleekxmpp/plugins/xep_0199', | ||||
|                  'sleekxmpp/plugins/xep_0202', | ||||
|                  'sleekxmpp/plugins/xep_0203', | ||||
|                  'sleekxmpp/plugins/xep_0221', | ||||
|                  'sleekxmpp/plugins/xep_0224', | ||||
|                  'sleekxmpp/plugins/xep_0231', | ||||
|                  'sleekxmpp/plugins/xep_0235', | ||||
|                  'sleekxmpp/plugins/xep_0249', | ||||
|                  'sleekxmpp/plugins/xep_0257', | ||||
|                  'sleekxmpp/plugins/xep_0258', | ||||
|                  'sleekxmpp/plugins/xep_0279', | ||||
|                  'sleekxmpp/plugins/xep_0280', | ||||
|                  'sleekxmpp/plugins/xep_0297', | ||||
|                  'sleekxmpp/plugins/xep_0308', | ||||
|                  'sleekxmpp/plugins/xep_0313', | ||||
|                  'sleekxmpp/plugins/xep_0319', | ||||
|                  'sleekxmpp/plugins/xep_0323', | ||||
|                  'sleekxmpp/plugins/xep_0323/stanza', | ||||
|                  'sleekxmpp/plugins/xep_0325', | ||||
|                  'sleekxmpp/plugins/xep_0325/stanza', | ||||
|                  'sleekxmpp/plugins/google', | ||||
|                  'sleekxmpp/plugins/google/gmail', | ||||
|                  'sleekxmpp/plugins/google/auth', | ||||
|                  'sleekxmpp/plugins/google/settings', | ||||
|                  'sleekxmpp/plugins/google/nosave', | ||||
|                  'sleekxmpp/features', | ||||
|                  'sleekxmpp/features/feature_mechanisms', | ||||
|                  'sleekxmpp/features/feature_mechanisms/stanza', | ||||
|                  'sleekxmpp/features/feature_starttls', | ||||
|                  'sleekxmpp/features/feature_bind', | ||||
|                  'sleekxmpp/features/feature_session', | ||||
|                  'sleekxmpp/features/feature_rosterver', | ||||
|                  'sleekxmpp/features/feature_preapproval', | ||||
|                  'sleekxmpp/thirdparty', | ||||
| packages     = [ 'slixmpp', | ||||
|                  'slixmpp/stanza', | ||||
|                  'slixmpp/test', | ||||
|                  'slixmpp/roster', | ||||
|                  'slixmpp/util', | ||||
|                  'slixmpp/util/sasl', | ||||
|                  'slixmpp/xmlstream', | ||||
|                  'slixmpp/xmlstream/matcher', | ||||
|                  'slixmpp/xmlstream/handler', | ||||
|                  'slixmpp/plugins', | ||||
|                  'slixmpp/plugins/xep_0004', | ||||
|                  'slixmpp/plugins/xep_0004/stanza', | ||||
|                  'slixmpp/plugins/xep_0009', | ||||
|                  'slixmpp/plugins/xep_0009/stanza', | ||||
|                  'slixmpp/plugins/xep_0012', | ||||
|                  'slixmpp/plugins/xep_0013', | ||||
|                  'slixmpp/plugins/xep_0016', | ||||
|                  'slixmpp/plugins/xep_0020', | ||||
|                  'slixmpp/plugins/xep_0027', | ||||
|                  'slixmpp/plugins/xep_0030', | ||||
|                  'slixmpp/plugins/xep_0030/stanza', | ||||
|                  'slixmpp/plugins/xep_0033', | ||||
|                  'slixmpp/plugins/xep_0047', | ||||
|                  'slixmpp/plugins/xep_0048', | ||||
|                  'slixmpp/plugins/xep_0049', | ||||
|                  'slixmpp/plugins/xep_0050', | ||||
|                  'slixmpp/plugins/xep_0054', | ||||
|                  'slixmpp/plugins/xep_0059', | ||||
|                  'slixmpp/plugins/xep_0060', | ||||
|                  'slixmpp/plugins/xep_0060/stanza', | ||||
|                  'slixmpp/plugins/xep_0065', | ||||
|                  'slixmpp/plugins/xep_0066', | ||||
|                  'slixmpp/plugins/xep_0071', | ||||
|                  'slixmpp/plugins/xep_0077', | ||||
|                  'slixmpp/plugins/xep_0078', | ||||
|                  'slixmpp/plugins/xep_0080', | ||||
|                  'slixmpp/plugins/xep_0084', | ||||
|                  'slixmpp/plugins/xep_0085', | ||||
|                  'slixmpp/plugins/xep_0086', | ||||
|                  'slixmpp/plugins/xep_0091', | ||||
|                  'slixmpp/plugins/xep_0092', | ||||
|                  'slixmpp/plugins/xep_0095', | ||||
|                  'slixmpp/plugins/xep_0096', | ||||
|                  'slixmpp/plugins/xep_0107', | ||||
|                  'slixmpp/plugins/xep_0108', | ||||
|                  'slixmpp/plugins/xep_0115', | ||||
|                  'slixmpp/plugins/xep_0118', | ||||
|                  'slixmpp/plugins/xep_0128', | ||||
|                  'slixmpp/plugins/xep_0131', | ||||
|                  'slixmpp/plugins/xep_0152', | ||||
|                  'slixmpp/plugins/xep_0153', | ||||
|                  'slixmpp/plugins/xep_0172', | ||||
|                  'slixmpp/plugins/xep_0184', | ||||
|                  'slixmpp/plugins/xep_0186', | ||||
|                  'slixmpp/plugins/xep_0191', | ||||
|                  'slixmpp/plugins/xep_0196', | ||||
|                  'slixmpp/plugins/xep_0198', | ||||
|                  'slixmpp/plugins/xep_0199', | ||||
|                  'slixmpp/plugins/xep_0202', | ||||
|                  'slixmpp/plugins/xep_0203', | ||||
|                  'slixmpp/plugins/xep_0221', | ||||
|                  'slixmpp/plugins/xep_0224', | ||||
|                  'slixmpp/plugins/xep_0231', | ||||
|                  'slixmpp/plugins/xep_0235', | ||||
|                  'slixmpp/plugins/xep_0249', | ||||
|                  'slixmpp/plugins/xep_0257', | ||||
|                  'slixmpp/plugins/xep_0258', | ||||
|                  'slixmpp/plugins/xep_0279', | ||||
|                  'slixmpp/plugins/xep_0280', | ||||
|                  'slixmpp/plugins/xep_0297', | ||||
|                  'slixmpp/plugins/xep_0308', | ||||
|                  'slixmpp/plugins/xep_0313', | ||||
|                  'slixmpp/plugins/xep_0319', | ||||
|                  'slixmpp/plugins/xep_0323', | ||||
|                  'slixmpp/plugins/xep_0323/stanza', | ||||
|                  'slixmpp/plugins/xep_0325', | ||||
|                  'slixmpp/plugins/xep_0325/stanza', | ||||
|                  'slixmpp/plugins/google', | ||||
|                  'slixmpp/plugins/google/gmail', | ||||
|                  'slixmpp/plugins/google/auth', | ||||
|                  'slixmpp/plugins/google/settings', | ||||
|                  'slixmpp/plugins/google/nosave', | ||||
|                  'slixmpp/features', | ||||
|                  'slixmpp/features/feature_mechanisms', | ||||
|                  'slixmpp/features/feature_mechanisms/stanza', | ||||
|                  'slixmpp/features/feature_starttls', | ||||
|                  'slixmpp/features/feature_bind', | ||||
|                  'slixmpp/features/feature_session', | ||||
|                  'slixmpp/features/feature_rosterver', | ||||
|                  'slixmpp/features/feature_preapproval', | ||||
|                  'slixmpp/thirdparty', | ||||
|                  ] | ||||
|  | ||||
| setup( | ||||
|     name             = "sleekxmpp", | ||||
|     name             = "slixmpp", | ||||
|     version          = VERSION, | ||||
|     description      = DESCRIPTION, | ||||
|     long_description = LONG_DESCRIPTION, | ||||
|     author       = 'Nathanael Fritz', | ||||
|     author_email = 'fritzy [at] netflint.net', | ||||
|     url          = 'http://github.com/fritzy/SleekXMPP', | ||||
|     url          = 'http://github.com/fritzy/Slixmpp', | ||||
|     license      = 'MIT', | ||||
|     platforms    = [ 'any' ], | ||||
|     packages     = packages, | ||||
|   | ||||
| @@ -1,30 +0,0 @@ | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Copyright (C) 2010  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
|  | ||||
| import logging | ||||
| if hasattr(logging, 'NullHandler'): | ||||
|     NullHandler = logging.NullHandler | ||||
| else: | ||||
|     class NullHandler(logging.Handler): | ||||
|         def handle(self, record): | ||||
|             pass | ||||
| logging.getLogger(__name__).addHandler(NullHandler()) | ||||
| del NullHandler | ||||
|  | ||||
|  | ||||
| from sleekxmpp.stanza import Message, Presence, Iq | ||||
| from sleekxmpp.jid import JID, InvalidJID | ||||
| from sleekxmpp.xmlstream.stanzabase import ET, ElementBase, register_stanza_plugin | ||||
| from sleekxmpp.xmlstream.handler import * | ||||
| from sleekxmpp.xmlstream import XMLStream, RestartStream | ||||
| from sleekxmpp.xmlstream.matcher import * | ||||
| from sleekxmpp.basexmpp import BaseXMPP | ||||
| from sleekxmpp.clientxmpp import ClientXMPP | ||||
| from sleekxmpp.componentxmpp import ComponentXMPP | ||||
|  | ||||
| from sleekxmpp.version import __version__, __version_info__ | ||||
| @@ -1,19 +0,0 @@ | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Copyright (C) 2011  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
|  | ||||
| from sleekxmpp.plugins.base import register_plugin | ||||
|  | ||||
| from sleekxmpp.features.feature_bind.bind import FeatureBind | ||||
| from sleekxmpp.features.feature_bind.stanza import Bind | ||||
|  | ||||
|  | ||||
| register_plugin(FeatureBind) | ||||
|  | ||||
|  | ||||
| # Retain some backwards compatibility | ||||
| feature_bind = FeatureBind | ||||
| @@ -1,22 +0,0 @@ | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Copyright (C) 2011  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
|  | ||||
| from sleekxmpp.plugins.base import register_plugin | ||||
|  | ||||
| from sleekxmpp.features.feature_mechanisms.mechanisms import FeatureMechanisms | ||||
| from sleekxmpp.features.feature_mechanisms.stanza import Mechanisms | ||||
| from sleekxmpp.features.feature_mechanisms.stanza import Auth | ||||
| from sleekxmpp.features.feature_mechanisms.stanza import Success | ||||
| from sleekxmpp.features.feature_mechanisms.stanza import Failure | ||||
|  | ||||
|  | ||||
| register_plugin(FeatureMechanisms) | ||||
|  | ||||
|  | ||||
| # Retain some backwards compatibility | ||||
| feature_mechanisms = FeatureMechanisms | ||||
| @@ -1,16 +0,0 @@ | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Copyright (C) 2011  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
|  | ||||
|  | ||||
| from sleekxmpp.features.feature_mechanisms.stanza.mechanisms import Mechanisms | ||||
| from sleekxmpp.features.feature_mechanisms.stanza.auth import Auth | ||||
| from sleekxmpp.features.feature_mechanisms.stanza.success import Success | ||||
| from sleekxmpp.features.feature_mechanisms.stanza.failure import Failure | ||||
| from sleekxmpp.features.feature_mechanisms.stanza.challenge import Challenge | ||||
| from sleekxmpp.features.feature_mechanisms.stanza.response import Response | ||||
| from sleekxmpp.features.feature_mechanisms.stanza.abort import Abort | ||||
| @@ -1,15 +0,0 @@ | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Copyright (C) 2012  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
|  | ||||
| from sleekxmpp.plugins.base import register_plugin | ||||
|  | ||||
| from sleekxmpp.features.feature_preapproval.preapproval import FeaturePreApproval | ||||
| from sleekxmpp.features.feature_preapproval.stanza import PreApproval | ||||
|  | ||||
|  | ||||
| register_plugin(FeaturePreApproval) | ||||
| @@ -1,19 +0,0 @@ | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Copyright (C) 2012  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
|  | ||||
| from sleekxmpp.plugins.base import register_plugin | ||||
|  | ||||
| from sleekxmpp.features.feature_rosterver.rosterver import FeatureRosterVer | ||||
| from sleekxmpp.features.feature_rosterver.stanza import RosterVer | ||||
|  | ||||
|  | ||||
| register_plugin(FeatureRosterVer) | ||||
|  | ||||
|  | ||||
| # Retain some backwards compatibility | ||||
| feature_rosterver = FeatureRosterVer | ||||
| @@ -1,19 +0,0 @@ | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Copyright (C) 2011  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
|  | ||||
| from sleekxmpp.plugins.base import register_plugin | ||||
|  | ||||
| from sleekxmpp.features.feature_session.session import FeatureSession | ||||
| from sleekxmpp.features.feature_session.stanza import Session | ||||
|  | ||||
|  | ||||
| register_plugin(FeatureSession) | ||||
|  | ||||
|  | ||||
| # Retain some backwards compatibility | ||||
| feature_session = FeatureSession | ||||
| @@ -1,19 +0,0 @@ | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Copyright (C) 2011  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
|  | ||||
| from sleekxmpp.plugins.base import register_plugin | ||||
|  | ||||
| from sleekxmpp.features.feature_starttls.starttls import FeatureSTARTTLS | ||||
| from sleekxmpp.features.feature_starttls.stanza import * | ||||
|  | ||||
|  | ||||
| register_plugin(FeatureSTARTTLS) | ||||
|  | ||||
|  | ||||
| # Retain some backwards compatibility | ||||
| feature_starttls = FeatureSTARTTLS | ||||
| @@ -1,10 +0,0 @@ | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Copyright (C) 2013 Nathanael C. Fritz, Lance J.T. Stout | ||||
|     This file is part of SleekXMPP. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
|  | ||||
| from sleekxmpp.plugins.google.auth import stanza | ||||
| from sleekxmpp.plugins.google.auth.auth import GoogleAuth | ||||
| @@ -1,10 +0,0 @@ | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Copyright (C) 2013 Nathanael C. Fritz, Lance J.T. Stout | ||||
|     This file is part of SleekXMPP. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
|  | ||||
| from sleekxmpp.plugins.google.gmail import stanza | ||||
| from sleekxmpp.plugins.google.gmail.notifications import Gmail | ||||
| @@ -1,10 +0,0 @@ | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Copyright (C) 2013 Nathanael C. Fritz, Lance J.T. Stout | ||||
|     This file is part of SleekXMPP. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
|  | ||||
| from sleekxmpp.plugins.google.nosave import stanza | ||||
| from sleekxmpp.plugins.google.nosave.nosave import GoogleNoSave | ||||
| @@ -1,10 +0,0 @@ | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Copyright (C) 2013 Nathanael C. Fritz, Lance J.T. Stout | ||||
|     This file is part of SleekXMPP. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
|  | ||||
| from sleekxmpp.plugins.google.settings import stanza | ||||
| from sleekxmpp.plugins.google.settings.settings import GoogleSettings | ||||
| @@ -1,22 +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.plugins.base import register_plugin | ||||
|  | ||||
| from sleekxmpp.plugins.xep_0004.stanza import Form | ||||
| from sleekxmpp.plugins.xep_0004.stanza import FormField, FieldOption | ||||
| from sleekxmpp.plugins.xep_0004.dataforms import XEP_0004 | ||||
|  | ||||
|  | ||||
| register_plugin(XEP_0004) | ||||
|  | ||||
|  | ||||
| # Retain some backwards compatibility | ||||
| xep_0004 = XEP_0004 | ||||
| xep_0004.makeForm = xep_0004.make_form | ||||
| xep_0004.buildForm = xep_0004.build_form | ||||
| @@ -1,10 +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.plugins.xep_0004.stanza.field import FormField, FieldOption | ||||
| from sleekxmpp.plugins.xep_0004.stanza.form import Form | ||||
| @@ -1,20 +0,0 @@ | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Copyright (C) 2011 Nathanael C. Fritz, Dann Martens (TOMOTON). | ||||
|     This file is part of SleekXMPP. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
|  | ||||
| from sleekxmpp.plugins.base import register_plugin | ||||
|  | ||||
| from sleekxmpp.plugins.xep_0009 import stanza | ||||
| from sleekxmpp.plugins.xep_0009.rpc import XEP_0009 | ||||
| from sleekxmpp.plugins.xep_0009.stanza import RPCQuery, MethodCall, MethodResponse | ||||
|  | ||||
|  | ||||
| register_plugin(XEP_0009) | ||||
|  | ||||
|  | ||||
| # Retain some backwards compatibility | ||||
| xep_0009 = XEP_0009 | ||||
| @@ -1,9 +0,0 @@ | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Copyright (C) 2011 Nathanael C. Fritz, Dann Martens (TOMOTON). | ||||
|     This file is part of SleekXMPP. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
|  | ||||
| from sleekxmpp.plugins.xep_0009.stanza.RPC import RPCQuery, MethodCall, MethodResponse | ||||
| @@ -1,19 +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_0012.stanza import LastActivity | ||||
| from sleekxmpp.plugins.xep_0012.last_activity import XEP_0012 | ||||
|  | ||||
|  | ||||
| register_plugin(XEP_0012) | ||||
|  | ||||
|  | ||||
| # Retain some backwards compatibility | ||||
| xep_0004 = XEP_0012 | ||||
| @@ -1,15 +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 permissio | ||||
| """ | ||||
|  | ||||
| from sleekxmpp.plugins.base import register_plugin | ||||
|  | ||||
| from sleekxmpp.plugins.xep_0013.stanza import Offline | ||||
| from sleekxmpp.plugins.xep_0013.offline import XEP_0013 | ||||
|  | ||||
|  | ||||
| register_plugin(XEP_0013) | ||||
| @@ -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_0016 import stanza | ||||
| from sleekxmpp.plugins.xep_0016.stanza import Privacy | ||||
| from sleekxmpp.plugins.xep_0016.privacy import XEP_0016 | ||||
|  | ||||
|  | ||||
| register_plugin(XEP_0016) | ||||
| @@ -1,16 +0,0 @@ | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Copyright (C) 2013 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_0020 import stanza | ||||
| from sleekxmpp.plugins.xep_0020.stanza import FeatureNegotiation | ||||
| from sleekxmpp.plugins.xep_0020.feature_negotiation import XEP_0020 | ||||
|  | ||||
|  | ||||
| register_plugin(XEP_0020) | ||||
| @@ -1,15 +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_0027.stanza import Signed, Encrypted | ||||
| from sleekxmpp.plugins.xep_0027.gpg import XEP_0027 | ||||
|  | ||||
|  | ||||
| register_plugin(XEP_0027) | ||||
| @@ -1,23 +0,0 @@ | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Copyright (C) 2010 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_0030 import stanza | ||||
| from sleekxmpp.plugins.xep_0030.stanza import DiscoInfo, DiscoItems | ||||
| from sleekxmpp.plugins.xep_0030.static import StaticDisco | ||||
| from sleekxmpp.plugins.xep_0030.disco import XEP_0030 | ||||
|  | ||||
|  | ||||
| register_plugin(XEP_0030) | ||||
|  | ||||
| # Retain some backwards compatibility | ||||
| xep_0030 = XEP_0030 | ||||
| XEP_0030.getInfo = XEP_0030.get_info | ||||
| XEP_0030.getItems = XEP_0030.get_items | ||||
| XEP_0030.make_static = XEP_0030.restore_defaults | ||||
| @@ -1,10 +0,0 @@ | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Copyright (C) 2010 Nathanael C. Fritz, Lance J.T. Stout | ||||
|     This file is part of SleekXMPP. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
|  | ||||
| from sleekxmpp.plugins.xep_0030.stanza.info import DiscoInfo | ||||
| from sleekxmpp.plugins.xep_0030.stanza.items import DiscoItems | ||||
| @@ -1,20 +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_0033 import stanza | ||||
| from sleekxmpp.plugins.xep_0033.stanza import Addresses, Address | ||||
| from sleekxmpp.plugins.xep_0033.addresses import XEP_0033 | ||||
|  | ||||
|  | ||||
| register_plugin(XEP_0033) | ||||
|  | ||||
| # Retain some backwards compatibility | ||||
| xep_0033 = XEP_0033 | ||||
| Addresses.addAddress = Addresses.add_address | ||||
| @@ -1,21 +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_0047 import stanza | ||||
| from sleekxmpp.plugins.xep_0047.stanza import Open, Close, Data | ||||
| from sleekxmpp.plugins.xep_0047.stream import IBBytestream | ||||
| from sleekxmpp.plugins.xep_0047.ibb import XEP_0047 | ||||
|  | ||||
|  | ||||
| register_plugin(XEP_0047) | ||||
|  | ||||
|  | ||||
| # Retain some backwards compatibility | ||||
| xep_0047 = XEP_0047 | ||||
| @@ -1,15 +0,0 @@ | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Copyright (C) 2013 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_0048.stanza import Bookmarks, Conference, URL | ||||
| from sleekxmpp.plugins.xep_0048.bookmarks import XEP_0048 | ||||
|  | ||||
|  | ||||
| register_plugin(XEP_0048) | ||||
| @@ -1,15 +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_0049.stanza import PrivateXML | ||||
| from sleekxmpp.plugins.xep_0049.private_storage import XEP_0049 | ||||
|  | ||||
|  | ||||
| register_plugin(XEP_0049) | ||||
| @@ -1,19 +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.plugins.base import register_plugin | ||||
|  | ||||
| from sleekxmpp.plugins.xep_0050.stanza import Command | ||||
| from sleekxmpp.plugins.xep_0050.adhoc import XEP_0050 | ||||
|  | ||||
|  | ||||
| register_plugin(XEP_0050) | ||||
|  | ||||
|  | ||||
| # Retain some backwards compatibility | ||||
| xep_0050 = XEP_0050 | ||||
| @@ -1,15 +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_0054.stanza import VCardTemp | ||||
| from sleekxmpp.plugins.xep_0054.vcard_temp import XEP_0054 | ||||
|  | ||||
|  | ||||
| register_plugin(XEP_0054) | ||||
| @@ -1,18 +0,0 @@ | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Copyright (C) 2010 Nathanael C. Fritz, Erik Reuterborg Larsson | ||||
|     This file is part of SleekXMPP. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
|  | ||||
| from sleekxmpp.plugins.base import register_plugin | ||||
|  | ||||
| from sleekxmpp.plugins.xep_0059.stanza import Set | ||||
| from sleekxmpp.plugins.xep_0059.rsm import ResultIterator, XEP_0059 | ||||
|  | ||||
|  | ||||
| register_plugin(XEP_0059) | ||||
|  | ||||
| # Retain some backwards compatibility | ||||
| xep_0059 = XEP_0059 | ||||
| @@ -1,19 +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.plugins.base import register_plugin | ||||
|  | ||||
| from sleekxmpp.plugins.xep_0060.pubsub import XEP_0060 | ||||
| from sleekxmpp.plugins.xep_0060 import stanza | ||||
|  | ||||
|  | ||||
| register_plugin(XEP_0060) | ||||
|  | ||||
|  | ||||
| # Retain some backwards compatibility | ||||
| xep_0060 = XEP_0060 | ||||
| @@ -1,12 +0,0 @@ | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Copyright (C) 2011  Nathanael C. Fritz | ||||
|     This file is part of SleekXMPP. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
|  | ||||
| from sleekxmpp.plugins.xep_0060.stanza.pubsub import * | ||||
| from sleekxmpp.plugins.xep_0060.stanza.pubsub_owner import * | ||||
| from sleekxmpp.plugins.xep_0060.stanza.pubsub_event import * | ||||
| from sleekxmpp.plugins.xep_0060.stanza.pubsub_errors import * | ||||
| @@ -1,7 +0,0 @@ | ||||
| from sleekxmpp.plugins.base import register_plugin | ||||
|  | ||||
| from sleekxmpp.plugins.xep_0065.stanza import Socks5 | ||||
| from sleekxmpp.plugins.xep_0065.proxy import XEP_0065 | ||||
|  | ||||
|  | ||||
| register_plugin(XEP_0065) | ||||
| @@ -1,20 +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.plugins.base import register_plugin | ||||
|  | ||||
| from sleekxmpp.plugins.xep_0066 import stanza | ||||
| from sleekxmpp.plugins.xep_0066.stanza import OOB, OOBTransfer | ||||
| from sleekxmpp.plugins.xep_0066.oob import XEP_0066 | ||||
|  | ||||
|  | ||||
| register_plugin(XEP_0066) | ||||
|  | ||||
|  | ||||
| # Retain some backwards compatibility | ||||
| xep_0066 = XEP_0066 | ||||
| @@ -1,15 +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 permissio | ||||
| """ | ||||
|  | ||||
| from sleekxmpp.plugins.base import register_plugin | ||||
|  | ||||
| from sleekxmpp.plugins.xep_0071.stanza import XHTML_IM | ||||
| from sleekxmpp.plugins.xep_0071.xhtml_im import XEP_0071 | ||||
|  | ||||
|  | ||||
| register_plugin(XEP_0071) | ||||
| @@ -1,19 +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_0077.stanza import Register, RegisterFeature | ||||
| from sleekxmpp.plugins.xep_0077.register import XEP_0077 | ||||
|  | ||||
|  | ||||
| register_plugin(XEP_0077) | ||||
|  | ||||
|  | ||||
| # Retain some backwards compatibility | ||||
| xep_0077 = XEP_0077 | ||||
| @@ -1,20 +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.plugins.base import register_plugin | ||||
|  | ||||
| from sleekxmpp.plugins.xep_0078 import stanza | ||||
| from sleekxmpp.plugins.xep_0078.stanza import IqAuth, AuthFeature | ||||
| from sleekxmpp.plugins.xep_0078.legacyauth import XEP_0078 | ||||
|  | ||||
|  | ||||
| register_plugin(XEP_0078) | ||||
|  | ||||
|  | ||||
| # Retain some backwards compatibility | ||||
| xep_0078 = XEP_0078 | ||||
| @@ -1,15 +0,0 @@ | ||||
| """ | ||||
|     SleekXMPP: The Sleek XMPP Library | ||||
|     Copyright (C) 2010 Nathanael C. Fritz, Erik Reuterborg Larsson | ||||
|     This file is part of SleekXMPP. | ||||
|  | ||||
|     See the file LICENSE for copying permission. | ||||
| """ | ||||
|  | ||||
| from sleekxmpp.plugins.base import register_plugin | ||||
|  | ||||
| from sleekxmpp.plugins.xep_0080.stanza import Geoloc | ||||
| from sleekxmpp.plugins.xep_0080.geoloc import XEP_0080 | ||||
|  | ||||
|  | ||||
| register_plugin(XEP_0080) | ||||
| @@ -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_0084 import stanza | ||||
| from sleekxmpp.plugins.xep_0084.stanza import Data, MetaData | ||||
| from sleekxmpp.plugins.xep_0084.avatar import XEP_0084 | ||||
|  | ||||
|  | ||||
| register_plugin(XEP_0084) | ||||
| @@ -1,19 +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 permissio | ||||
| """ | ||||
|  | ||||
| from sleekxmpp.plugins.base import register_plugin | ||||
|  | ||||
| from sleekxmpp.plugins.xep_0085.stanza import ChatState | ||||
| from sleekxmpp.plugins.xep_0085.chat_states import XEP_0085 | ||||
|  | ||||
|  | ||||
| register_plugin(XEP_0085) | ||||
|  | ||||
|  | ||||
| # Retain some backwards compatibility | ||||
| xep_0085 = XEP_0085 | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user
	 Florent Le Coz
					Florent Le Coz