Compare commits
	
		
			59 Commits
		
	
	
		
			slix-1.6.0
			...
			0.9-conn-f
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | bf2bf29fc6 | ||
|   | 34dc236126 | ||
|   | 9464736551 | ||
|   | 47f1fb1690 | ||
|   | 66cf0c2021 | ||
|   | e7c37c4ec5 | ||
|   | 919c8c5633 | ||
|   | f54501a346 | ||
|   | d20cd6b3e6 | ||
|   | da6e1e47dc | ||
|   | 2f0f18a8c6 | ||
|   | 1c32668e18 | ||
|   | 1f3cfb98f1 | ||
|   | 4295a66c70 | ||
|   | 8227affd7f | ||
|   | 3a2f989c5e | ||
|   | 85a2715c7d | ||
|   | b03e6168a8 | ||
|   | 2a43f59a58 | ||
|   | 184f7cb8a4 | ||
|   | e1aa4d0b93 | ||
|   | 7930ed22f2 | ||
|   | 060b4c3938 | ||
|   | 49f5767aea | ||
|   | 4eb210bff5 | ||
|   | 1780ca900a | ||
|   | e6c2fde283 | ||
|   | ecf902bf16 | ||
|   | d76c0931ef | ||
|   | e18793152f | ||
|   | e388680269 | ||
|   | bee42e4a2f | ||
|   | 8e3227ae5e | ||
|   | 257bcadd96 | ||
|   | 3e5cdc8664 | ||
|   | 194e6bcb51 | ||
|   | 2e7024419a | ||
|   | 5235313aab | ||
|   | a2719b0bb0 | ||
|   | 71ad715caa | ||
|   | d452085049 | ||
|   | 8b3b8aca9e | ||
|   | e00dea7c0c | ||
|   | 520bf72e11 | ||
|   | 040f426f1a | ||
|   | 226b0e4297 | ||
|   | 0b2cd176b1 | ||
|   | 56b5cbe5b1 | ||
|   | 3e83b16a58 | ||
|   | de4d611d30 | ||
|   | e8d0fc37dc | ||
|   | 8e95ae2948 | ||
|   | 341c110b6a | ||
|   | 7522839141 | ||
|   | 4c410dd48a | ||
|   | a92075a659 | ||
|   | 7552efee5c | ||
|   | 6bc6ebb95d | ||
|   | e0c32b6d9b | 
							
								
								
									
										13
									
								
								.github/pull_request_template.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								.github/pull_request_template.md
									
									
									
									
										vendored
									
									
								
							| @@ -1,13 +0,0 @@ | ||||
| ################ Please use Gitlab instead of Github ################################### | ||||
|  | ||||
| Hello, thank you for contributing to slixmpp! | ||||
|  | ||||
| You’re about to open a pull request on github. However this github repository is not the official place for contributions on slixmpp. | ||||
|  | ||||
| Please open your merge request on https://lab.louiz.org/poezio/slixmpp/ | ||||
|  | ||||
| You should be able to log in there with your github credentials, clone the slixmpp repository in your namespace, push your existing pull request into a new branch, and then open a merge request with one click, within 3 minutes. | ||||
|  | ||||
| This will help us review your contribution, avoid spreading things everywhere and it will even run the tests automatically with your changes. | ||||
|  | ||||
| Thank you. | ||||
							
								
								
									
										17
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										17
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1,15 +1,6 @@ | ||||
| *.py[co] | ||||
| *.pyc | ||||
| .project | ||||
| build/ | ||||
| dist/ | ||||
| MANIFEST | ||||
| docs/_build/ | ||||
| *.swp | ||||
| .tox/ | ||||
| .coverage | ||||
| slixmpp.egg-info/ | ||||
| .ropeproject/ | ||||
| 4913 | ||||
| *~ | ||||
| .baboon/ | ||||
| .DS_STORE | ||||
| .idea/ | ||||
| .pydevproject | ||||
| .settings | ||||
|   | ||||
| @@ -1,37 +0,0 @@ | ||||
| stages: | ||||
|   - test | ||||
|   - trigger | ||||
|  | ||||
| test: | ||||
|   stage: test | ||||
|   tags: | ||||
|     - docker | ||||
|   image: ubuntu:latest | ||||
|   script: | ||||
|     - apt update | ||||
|     - apt install -y python3 python3-pip cython3 gpg | ||||
|     - pip3 install emoji aiohttp | ||||
|     - ./run_tests.py | ||||
|  | ||||
| test_integration: | ||||
|   stage: test | ||||
|   tags: | ||||
|     - docker | ||||
|   image: ubuntu:latest | ||||
|   only: | ||||
|     variables: | ||||
|         - $CI_ACCOUNT1 | ||||
|         - $CI_ACCOUNT2 | ||||
|   script: | ||||
|     - apt update | ||||
|     - apt install -y python3 python3-pip cython3 gpg | ||||
|     - pip3 install emoji aiohttp aiodns | ||||
|     - ./run_integration_tests.py | ||||
|  | ||||
| trigger_poezio: | ||||
|   stage: trigger | ||||
|   tags: | ||||
|     - docker | ||||
|   image: appropriate/curl:latest | ||||
|   script: | ||||
|     - curl --request POST -F token="$SLIXMPP_TRIGGER_TOKEN" -F ref=master https://lab.louiz.org/api/v4/projects/18/trigger/pipeline | ||||
| @@ -1,7 +0,0 @@ | ||||
| language: python | ||||
| python: | ||||
|   - "3.7" | ||||
|   - "3.8-dev" | ||||
| install: | ||||
|   - "pip install ." | ||||
| script: testall.py | ||||
| @@ -1,14 +0,0 @@ | ||||
| Contributing to the Slixmpp project | ||||
| =================================== | ||||
|  | ||||
| To contribute, the preferred way is to commit your changes on some | ||||
| publicly-available git repository (on a fork `on github | ||||
| <https://github.com/poezio/slixmpp>`_ or on your own repository) and to | ||||
| notify the developers with either: | ||||
|  - a ticket `on the bug tracker <https://lab.louiz.org/poezio/slixmpp/issues/new>`_ | ||||
|  - a pull request on github | ||||
|  - a simple message on `the XMPP MUC <xmpp:slixmpp@muc.poez.io>`_ | ||||
|  | ||||
| Even though Slixmpp’s github repository is just a read-only mirror, we can | ||||
| still be notified of the pull requests and fetch your mirror manually to | ||||
| integrate your changes. | ||||
							
								
								
									
										12
									
								
								INSTALL
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								INSTALL
									
									
									
									
									
								
							| @@ -1,14 +1,8 @@ | ||||
| Pre-requisites: | ||||
| - Python 3.7+ | ||||
| - Cython 0.22 and libidn, optionally (making JID faster by compiling the stringprep module) | ||||
| - GnuPG, for testing | ||||
| Python 3.1 or 2.6 | ||||
|  | ||||
| Install: | ||||
| > python3 setup.py install | ||||
| python3 setup.py install | ||||
|  | ||||
| Root install: | ||||
| > sudo python3 setup.py install | ||||
|  | ||||
| To test: | ||||
| > cd examples | ||||
| > python3 echo_client.py -d -j [USER@example.com] -p [PASSWORD] | ||||
| sudo python3 setup.py install | ||||
|   | ||||
							
								
								
									
										124
									
								
								LICENSE
									
									
									
									
									
								
							
							
						
						
									
										124
									
								
								LICENSE
									
									
									
									
									
								
							| @@ -1,4 +1,4 @@ | ||||
| Copyright (c) 2010 Nathanael C. Fritz | ||||
| Copyright (c) 2010 ICRL | ||||
|  | ||||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
| of this software and associated documentation files (the "Software"), to deal | ||||
| @@ -17,125 +17,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||||
| THE SOFTWARE. | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| Licenses of Bundled Third Party Code | ||||
| ------------------------------------ | ||||
|  | ||||
| dateutil - Extensions to the standard python 2.3+ datetime module. | ||||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||||
|  | ||||
| Copyright (c) 2003-2011 - Gustavo Niemeyer <gustavo@niemeyer.net> | ||||
|  | ||||
| All rights reserved. | ||||
|  | ||||
| Redistribution and use in source and binary forms, with or without | ||||
| modification, are permitted provided that the following conditions are met: | ||||
|  | ||||
|     * Redistributions of source code must retain the above copyright notice, | ||||
|       this list of conditions and the following disclaimer. | ||||
|     * Redistributions in binary form must reproduce the above copyright notice, | ||||
|       this list of conditions and the following disclaimer in the documentation | ||||
|       and/or other materials provided with the distribution. | ||||
|     * Neither the name of the copyright holder nor the names of its | ||||
|       contributors may be used to endorse or promote products derived from | ||||
|       this software without specific prior written permission. | ||||
|  | ||||
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS | ||||
| "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT | ||||
| LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR | ||||
| A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR | ||||
| CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | ||||
| EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, | ||||
| PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | ||||
| PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | ||||
| LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING | ||||
| NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||||
| SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
|  | ||||
|  | ||||
| fixed_datetime | ||||
| ~~~~~~~~~~~~~~ | ||||
|  | ||||
| Copyright (c) 2008, Red Innovation Ltd., Finland | ||||
| All rights reserved. | ||||
|  | ||||
| Redistribution and use in source and binary forms, with or without | ||||
| modification, are permitted provided that the following conditions are met: | ||||
|     * Redistributions of source code must retain the above copyright | ||||
|       notice, this list of conditions and the following disclaimer. | ||||
|     * Redistributions in binary form must reproduce the above copyright | ||||
|       notice, this list of conditions and the following disclaimer in the | ||||
|       documentation and/or other materials provided with the distribution. | ||||
|     * Neither the name of Red Innovation nor the names of its contributors | ||||
|       may be used to endorse or promote products derived from this software | ||||
|       without specific prior written permission. | ||||
|  | ||||
| THIS SOFTWARE IS PROVIDED BY RED INNOVATION ``AS IS'' AND ANY | ||||
| EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||||
| WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||||
| DISCLAIMED. IN NO EVENT SHALL RED INNOVATION BE LIABLE FOR ANY | ||||
| DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||||
| (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||||
| LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||||
| ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||||
| (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||||
| SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
|  | ||||
|  | ||||
|  | ||||
| SUELTA – A PURE-PYTHON SASL CLIENT LIBRARY | ||||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||||
|  | ||||
| This software is subject to "The MIT License" | ||||
|  | ||||
| Copyright 2004-2013 David Alan Cridland | ||||
|  | ||||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
| of this software and associated documentation files (the "Software"), to deal | ||||
| in the Software without restriction, including without limitation the rights | ||||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
| copies of the Software, and to permit persons to whom the Software is | ||||
| furnished to do so, subject to the following conditions: | ||||
|  | ||||
| The above copyright notice and this permission notice shall be included in | ||||
| all copies or substantial portions of the Software. | ||||
|  | ||||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN | ||||
| THE SOFTWARE. | ||||
|  | ||||
|  | ||||
| python-gnupg: A Python wrapper for the GNU Privacy Guard | ||||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||||
| Copyright (c) 2008-2012 by Vinay Sajip. | ||||
| All rights reserved. | ||||
|  | ||||
| Redistribution and use in source and binary forms, with or without | ||||
| modification, are permitted provided that the following conditions are met: | ||||
|  | ||||
|     * Redistributions of source code must retain the above copyright notice, | ||||
|       this list of conditions and the following disclaimer. | ||||
|     * Redistributions in binary form must reproduce the above copyright notice, | ||||
|       this list of conditions and the following disclaimer in the documentation | ||||
|       and/or other materials provided with the distribution. | ||||
|     * The name(s) of the copyright holder(s) may not be used to endorse or | ||||
|       promote products derived from this software without specific prior | ||||
|       written permission. | ||||
|  | ||||
| THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER(S) "AS IS" AND ANY EXPRESS OR | ||||
| IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||||
| MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO | ||||
| EVENT SHALL THE COPYRIGHT HOLDER(S) BE LIABLE FOR ANY DIRECT, INDIRECT, | ||||
| INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT | ||||
| LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR | ||||
| PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF | ||||
| LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE | ||||
| OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF | ||||
| ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
|   | ||||
							
								
								
									
										39
									
								
								MANIFEST
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								MANIFEST
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,39 @@ | ||||
| setup.py | ||||
| sleekxmpp/__init__.py | ||||
| sleekxmpp/basexmpp.py | ||||
| sleekxmpp/clientxmpp.py | ||||
| sleekxmpp/example.py | ||||
| sleekxmpp/plugins/__init__.py | ||||
| sleekxmpp/plugins/base.py | ||||
| sleekxmpp/plugins/gmail_notify.py | ||||
| sleekxmpp/plugins/xep_0004.py | ||||
| sleekxmpp/plugins/xep_0009.py | ||||
| sleekxmpp/plugins/xep_0030.py | ||||
| sleekxmpp/plugins/xep_0045.py | ||||
| sleekxmpp/plugins/xep_0050.py | ||||
| sleekxmpp/plugins/xep_0060.py | ||||
| sleekxmpp/plugins/xep_0078.py | ||||
| sleekxmpp/plugins/xep_0086.py | ||||
| sleekxmpp/plugins/xep_0092.py | ||||
| sleekxmpp/plugins/xep_0199.py | ||||
| sleekxmpp/stanza/__init__.py | ||||
| sleekxmpp/stanza/iq.py | ||||
| sleekxmpp/stanza/message.py | ||||
| sleekxmpp/stanza/presence.py | ||||
| sleekxmpp/xmlstream/__init__.py | ||||
| sleekxmpp/xmlstream/stanzabase.py | ||||
| sleekxmpp/xmlstream/statemachine.py | ||||
| sleekxmpp/xmlstream/test.py | ||||
| sleekxmpp/xmlstream/testclient.py | ||||
| sleekxmpp/xmlstream/xmlstream.py | ||||
| sleekxmpp/xmlstream/handler/__init__.py | ||||
| sleekxmpp/xmlstream/handler/base.py | ||||
| sleekxmpp/xmlstream/handler/callback.py | ||||
| sleekxmpp/xmlstream/handler/waiter.py | ||||
| sleekxmpp/xmlstream/handler/xmlcallback.py | ||||
| sleekxmpp/xmlstream/handler/xmlwaiter.py | ||||
| sleekxmpp/xmlstream/matcher/__init__.py | ||||
| sleekxmpp/xmlstream/matcher/base.py | ||||
| sleekxmpp/xmlstream/matcher/many.py | ||||
| sleekxmpp/xmlstream/matcher/xmlmask.py | ||||
| sleekxmpp/xmlstream/matcher/xpath.py | ||||
| @@ -1,7 +0,0 @@ | ||||
| include README.rst | ||||
| include LICENSE | ||||
| include run_tests.py | ||||
| include slixmpp/stringprep.pyx | ||||
| recursive-include docs Makefile *.bat *.py *.rst *.css *.ttf *.png | ||||
| recursive-include examples *.py | ||||
| recursive-include tests *.py | ||||
							
								
								
									
										42
									
								
								README
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								README
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,42 @@ | ||||
| SleekXMPP is an XMPP library written for Python 3.1+ (with 2.6 compatibility). | ||||
| Hosted at http://wiki.github.com/fritzy/SleekXMPP/ | ||||
|  | ||||
| Featured in examples in XMPP: The Definitive Guide by Kevin Smith, Remko Tronçon, and Peter Saint-Andre | ||||
| If you're coming here from The Definitive Guide, please read http://wiki.github.com/fritzy/SleekXMPP/xmpp-the-definitive-guide | ||||
|  | ||||
| SleekXMPP has several design goals/philosophies: | ||||
| - Low number of dependencies. | ||||
| - Every XEP as a plugin. | ||||
| - Rewarding to work with. | ||||
|  | ||||
| The goals for 1.0 include (and we're getting close): | ||||
| - Nearly Full test coverage of stanzas. | ||||
| - Wide range of functional tests. | ||||
| - Stanza objects for all interaction with the stream | ||||
| - Documentation on using and extending SleekXMPP. | ||||
| - Complete documentation on all implemented stanza objects | ||||
| - Documentation on all examples used in XMPP: The Definitive Guide | ||||
|  | ||||
| 1.1 will include: | ||||
| - More functional and unit tests | ||||
| - PEP-8 compliance | ||||
| - XEP-225 support | ||||
|  | ||||
| Since 0.2, here's the Changelog: | ||||
| - MANY bugfixes | ||||
| - Re-implementation of handlers/threading to greatly simplify and remove bugs (no more spawning threads in handlers) | ||||
| - Stanza objects for jabber:client and all implemented XEPs | ||||
| - Raising XMPPError for jabber:client and extended errors in handlers | ||||
| - Robust error handling and better insurance of iq responses | ||||
| - Stanza objects have made life a lot easier! | ||||
| - Massive audit/cleanup. | ||||
|  | ||||
| Credits | ||||
| ---------------- | ||||
| Main Author: Nathan Fritz fritz@netflint.net | ||||
| Contributors: Kevin Smith & Lance Stout | ||||
| Patches: Remko Tronçon | ||||
|  | ||||
| Feel free to add fritzy@netflint.net to your roster for direct support and comments. | ||||
| Join sleekxmpp-discussion@googlegroups.com / http://groups.google.com/group/sleekxmpp-discussion for email discussion. | ||||
| Join sleek@conference.jabber.org for groupchat discussion. | ||||
							
								
								
									
										155
									
								
								README.rst
									
									
									
									
									
								
							
							
						
						
									
										155
									
								
								README.rst
									
									
									
									
									
								
							| @@ -1,155 +0,0 @@ | ||||
| Slixmpp | ||||
| ######### | ||||
|  | ||||
| Slixmpp is an MIT licensed XMPP library for Python 3.7+. It is a fork of | ||||
| SleekXMPP. | ||||
|  | ||||
| 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. | ||||
|  | ||||
| Building | ||||
| -------- | ||||
|  | ||||
| Slixmpp can make use of cython to improve performance on critical modules. | ||||
| To do that, **cython3** is necessary along with **libidn** headers. | ||||
| Otherwise, no compilation is needed. Building is done by running setup.py:: | ||||
|  | ||||
|     python3 setup.py build_ext --inplace | ||||
|  | ||||
| Documentation and Testing | ||||
| ------------------------- | ||||
| Documentation can be found both inline in the code, and as a Sphinx project in ``/docs``. | ||||
| To generate the Sphinx documentation, follow the commands below. The HTML output will | ||||
| be in ``docs/_build/html``:: | ||||
|  | ||||
|     cd docs | ||||
|     make html | ||||
|     open _build/html/index.html | ||||
|  | ||||
| To run the test suite for Slixmpp:: | ||||
|  | ||||
|     python run_tests.py | ||||
|  | ||||
| Integration tests require the following environment variables to be set::: | ||||
|  | ||||
|     $CI_ACCOUNT1 | ||||
|     $CI_ACCOUNT1_PASSWORD | ||||
|     $CI_ACCOUNT2 | ||||
|     $CI_ACCOUNT2_PASSWORD | ||||
|     $CI_MUC_SERVER | ||||
|  | ||||
| where the account variables are JIDs of valid, existing accounts, and | ||||
| the passwords are the account passwords. The MUC server must allow room | ||||
| creation from those JIDs. | ||||
|  | ||||
| To run the integration test suite for Slixmpp:: | ||||
|  | ||||
|     python run_integration_tests.py | ||||
|  | ||||
| The Slixmpp Boilerplate | ||||
| ------------------------- | ||||
| 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 documentation or examples directory for more detailed archetypes for | ||||
| Slixmpp projects:: | ||||
|  | ||||
|     import logging | ||||
|  | ||||
|     from slixmpp import ClientXMPP | ||||
|     from slixmpp.exceptions import IqError, IqTimeout | ||||
|  | ||||
|  | ||||
|     class EchoBot(ClientXMPP): | ||||
|  | ||||
|         def __init__(self, jid, password): | ||||
|             ClientXMPP.__init__(self, jid, password) | ||||
|  | ||||
|             self.add_event_handler("session_start", self.session_start) | ||||
|             self.add_event_handler("message", self.message) | ||||
|  | ||||
|             # If you wanted more functionality, here's how to register plugins: | ||||
|             # self.register_plugin('xep_0030') # Service Discovery | ||||
|             # self.register_plugin('xep_0199') # XMPP Ping | ||||
|  | ||||
|             # Here's how to access plugins once you've registered them: | ||||
|             # self['xep_0030'].add_feature('echo_demo') | ||||
|  | ||||
|             # If you are working with an OpenFire server, you will | ||||
|             # need to use a different SSL version: | ||||
|             # import ssl | ||||
|             # self.ssl_version = ssl.PROTOCOL_SSLv3 | ||||
|  | ||||
|         def session_start(self, event): | ||||
|             self.send_presence() | ||||
|             self.get_roster() | ||||
|  | ||||
|             # Most get_*/set_* methods from plugins use Iq stanzas, which | ||||
|             # can generate IqError and IqTimeout exceptions | ||||
|             # | ||||
|             # try: | ||||
|             #     self.get_roster() | ||||
|             # except IqError as err: | ||||
|             #     logging.error('There was an error getting the roster') | ||||
|             #     logging.error(err.iq['error']['condition']) | ||||
|             #     self.disconnect() | ||||
|             # except IqTimeout: | ||||
|             #     logging.error('Server is taking too long to respond') | ||||
|             #     self.disconnect() | ||||
|  | ||||
|         def message(self, msg): | ||||
|             if msg['type'] in ('chat', 'normal'): | ||||
|                 msg.reply("Thanks for sending\n%(body)s" % msg).send() | ||||
|  | ||||
|  | ||||
|     if __name__ == '__main__': | ||||
|         # Ideally use optparse or argparse to get JID, | ||||
|         # password, and log level. | ||||
|  | ||||
|         logging.basicConfig(level=logging.DEBUG, | ||||
|                             format='%(levelname)-8s %(message)s') | ||||
|  | ||||
|         xmpp = EchoBot('somejid@example.com', 'use_getpass') | ||||
|         xmpp.connect() | ||||
|         xmpp.process(forever=True) | ||||
|  | ||||
|  | ||||
| Slixmpp Credits | ||||
| --------------- | ||||
|  | ||||
| **Maintainers:** | ||||
|     - Florent Le Coz (`louiz@louiz.org <xmpp:louiz@louiz.org?message>`_), | ||||
|     - Mathieu Pasquet (`mathieui@mathieui.net <xmpp:mathieui@mathieui.net?message>`_), | ||||
|  | ||||
| **Contributors:** | ||||
|     - Emmanuel Gil Peyrot (`Link mauve <xmpp:linkmauve@linkmauve.fr?message>`_) | ||||
|     - Sam Whited (`Sam Whited <mailto:sam@samwhited.com>`_) | ||||
|     - Dan Sully (`Dan Sully <mailto:daniel@electricalrain.com>`_) | ||||
|     - Gasper Zejn (`Gasper Zejn <mailto:zejn@kiberpipa.org>`_) | ||||
|     - Krzysztof Kotlenga (`Krzysztof Kotlenga <mailto:pocek@users.sf.net>`_) | ||||
|     - Tsukasa Hiiragi (`Tsukasa Hiiragi <mailto:bakalolka@gmail.com>`_) | ||||
|     - Maxime Buquet (`pep <xmpp:pep@bouah.net?message>`_) | ||||
|  | ||||
| Credits (SleekXMPP) | ||||
| ------------------- | ||||
|  | ||||
| **Main Author:** Nathan Fritz | ||||
|     `fritzy@netflint.net <xmpp:fritzy@netflint.net?message>`_, | ||||
|     `@fritzy <http://twitter.com/fritzy>`_ | ||||
|  | ||||
|     Nathan is also the author of XMPPHP and `Seesmic-AS3-XMPP | ||||
|     <http://code.google.com/p/seesmic-as3-xmpp/>`_, and a former member of | ||||
|     the XMPP Council. | ||||
|  | ||||
| **Co-Author:** Lance Stout | ||||
|     `lancestout@gmail.com <xmpp:lancestout@gmail.com?message>`_, | ||||
|     `@lancestout <http://twitter.com/lancestout>`_ | ||||
|  | ||||
| **Contributors:** | ||||
|     - Brian Beggs (`macdiesel <http://github.com/macdiesel>`_) | ||||
|     - Dann Martens (`dannmartens <http://github.com/dannmartens>`_) | ||||
|     - Florent Le Coz (`louiz <http://github.com/louiz>`_) | ||||
|     - Kevin Smith (`Kev <http://github.com/Kev>`_, http://kismith.co.uk) | ||||
|     - Remko Tronçon (`remko <http://github.com/remko>`_, http://el-tramo.be) | ||||
|     - Te-jé Rogers (`te-je <http://github.com/te-je>`_) | ||||
|     - Thom Nichols (`tomstrummer <http://github.com/tomstrummer>`_) | ||||
							
								
								
									
										171
									
								
								conn_tests/test_pubsubjobs.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										171
									
								
								conn_tests/test_pubsubjobs.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,171 @@ | ||||
| import logging | ||||
| import sleekxmpp | ||||
| from optparse import OptionParser | ||||
| from xml.etree import cElementTree as ET | ||||
| import os | ||||
| import time | ||||
| import sys | ||||
| import unittest | ||||
| import sleekxmpp.plugins.xep_0004 | ||||
| from sleekxmpp.xmlstream.matcher.stanzapath import StanzaPath | ||||
| from sleekxmpp.xmlstream.handler.waiter import Waiter | ||||
| try: | ||||
| 	import configparser | ||||
| except ImportError: | ||||
| 	import ConfigParser as configparser | ||||
| try: | ||||
| 	import queue | ||||
| except ImportError: | ||||
| 	import Queue as queue | ||||
|  | ||||
| class TestClient(sleekxmpp.ClientXMPP): | ||||
| 	def __init__(self, jid, password): | ||||
| 		sleekxmpp.ClientXMPP.__init__(self, jid, password) | ||||
| 		self.add_event_handler("session_start", self.start) | ||||
| 		#self.add_event_handler("message", self.message) | ||||
| 		self.waitforstart = queue.Queue() | ||||
| 	 | ||||
| 	def start(self, event): | ||||
| 		self.getRoster() | ||||
| 		self.sendPresence() | ||||
| 		self.waitforstart.put(True) | ||||
|  | ||||
|  | ||||
| class TestPubsubServer(unittest.TestCase): | ||||
| 	statev = {} | ||||
|  | ||||
| 	def __init__(self, *args, **kwargs): | ||||
| 		unittest.TestCase.__init__(self, *args, **kwargs) | ||||
|  | ||||
| 	def setUp(self): | ||||
| 		pass | ||||
|  | ||||
| 	def test001getdefaultconfig(self): | ||||
| 		"""Get the default node config""" | ||||
| 		self.xmpp1['xep_0060'].deleteNode(self.pshost, 'testnode2') | ||||
| 		self.xmpp1['xep_0060'].deleteNode(self.pshost, 'testnode3') | ||||
| 		self.xmpp1['xep_0060'].deleteNode(self.pshost, 'testnode4') | ||||
| 		self.xmpp1['xep_0060'].deleteNode(self.pshost, 'testnode5') | ||||
| 		result = self.xmpp1['xep_0060'].getNodeConfig(self.pshost) | ||||
| 		self.statev['defaultconfig'] = result | ||||
| 		self.failUnless(isinstance(result, sleekxmpp.plugins.xep_0004.Form)) | ||||
| 	 | ||||
| 	def test002createdefaultnode(self): | ||||
| 		"""Create a node without config""" | ||||
| 		self.failUnless(self.xmpp1['xep_0060'].create_node(self.pshost, 'testnode1')) | ||||
|  | ||||
| 	def test003deletenode(self): | ||||
| 		"""Delete recently created node""" | ||||
| 		self.failUnless(self.xmpp1['xep_0060'].deleteNode(self.pshost, 'testnode1')) | ||||
| 	 | ||||
| 	def test004createnode(self): | ||||
| 		"""Create a node with a config""" | ||||
| 		self.statev['defaultconfig'].field['pubsub#access_model'].setValue('open') | ||||
| 		self.statev['defaultconfig'].field['pubsub#notify_retract'].setValue(True) | ||||
| 		self.statev['defaultconfig'].field['pubsub#persist_items'].setValue(True) | ||||
| 		self.statev['defaultconfig'].field['pubsub#presence_based_delivery'].setValue(True) | ||||
| 		p = self.xmpp2.Presence() | ||||
| 		p['to'] = self.pshost | ||||
| 		p.send() | ||||
| 		self.failUnless(self.xmpp1['xep_0060'].create_node(self.pshost, 'testnode2', self.statev['defaultconfig'], ntype='job')) | ||||
| 	 | ||||
| 	def test005reconfigure(self): | ||||
| 		"""Retrieving node config and reconfiguring""" | ||||
| 		nconfig = self.xmpp1['xep_0060'].getNodeConfig(self.pshost, 'testnode2') | ||||
| 		self.failUnless(nconfig, "No configuration returned") | ||||
| 		#print("\n%s ==\n %s" % (nconfig.getValues(), self.statev['defaultconfig'].getValues())) | ||||
| 		self.failUnless(nconfig.getValues() == self.statev['defaultconfig'].getValues(), "Configuration does not match") | ||||
| 		self.failUnless(self.xmpp1['xep_0060'].setNodeConfig(self.pshost, 'testnode2', nconfig)) | ||||
|  | ||||
| 	def test006subscribetonode(self): | ||||
| 		"""Subscribe to node from account 2""" | ||||
| 		self.failUnless(self.xmpp2['xep_0060'].subscribe(self.pshost, "testnode2")) | ||||
| 	 | ||||
| 	def test007publishitem(self): | ||||
| 		"""Publishing item""" | ||||
| 		item = ET.Element('{http://netflint.net/protocol/test}test') | ||||
| 		w = Waiter('wait publish', StanzaPath('message/pubsub_event/items')) | ||||
| 		self.xmpp2.registerHandler(w) | ||||
| 		#result = self.xmpp1['xep_0060'].setItem(self.pshost, "testnode2", (('test1', item),)) | ||||
| 		result = self.xmpp1['jobs'].createJob(self.pshost, "testnode2", 'test1', item) | ||||
| 		msg = w.wait(5) # got to get a result in 5 seconds | ||||
| 		self.failUnless(msg != False, "Account #2 did not get message event") | ||||
| 		#result = self.xmpp1['xep_0060'].setItem(self.pshost, "testnode2", (('test2', item),)) | ||||
| 		result = self.xmpp1['jobs'].createJob(self.pshost, "testnode2", 'test2', item) | ||||
| 		w = Waiter('wait publish2', StanzaPath('message/pubsub_event/items')) | ||||
| 		self.xmpp2.registerHandler(w) | ||||
| 		self.xmpp2['jobs'].claimJob(self.pshost, 'testnode2', 'test1') | ||||
| 		msg = w.wait(5) # got to get a result in 5 seconds | ||||
| 		self.xmpp2['jobs'].claimJob(self.pshost, 'testnode2', 'test2') | ||||
| 		self.xmpp2['jobs'].finishJob(self.pshost, 'testnode2', 'test1') | ||||
| 		self.xmpp2['jobs'].finishJob(self.pshost, 'testnode2', 'test2') | ||||
| 		print result | ||||
| 		#need to add check for update | ||||
|  | ||||
| 	def test900cleanup(self): | ||||
| 		"Cleaning up" | ||||
| 		#self.failUnless(self.xmpp1['xep_0060'].deleteNode(self.pshost, 'testnode2'), "Could not delete test node.") | ||||
| 		time.sleep(10) | ||||
| 	 | ||||
|  | ||||
| if __name__ == '__main__': | ||||
| 	#parse command line arguements | ||||
| 	optp = OptionParser() | ||||
| 	optp.add_option('-q','--quiet', help='set logging to ERROR', action='store_const', dest='loglevel', const=logging.ERROR, default=logging.INFO) | ||||
| 	optp.add_option('-d','--debug', help='set logging to DEBUG', action='store_const', dest='loglevel', const=logging.DEBUG, default=logging.INFO) | ||||
| 	optp.add_option('-v','--verbose', help='set logging to COMM', action='store_const', dest='loglevel', const=5, default=logging.INFO) | ||||
| 	optp.add_option("-c","--config", dest="configfile", default="config.xml", help="set config file to use") | ||||
| 	optp.add_option("-n","--nodenum", dest="nodenum", default="1", help="set node number to use") | ||||
| 	optp.add_option("-p","--pubsub", dest="pubsub", default="1", help="set pubsub host to use") | ||||
| 	opts,args = optp.parse_args() | ||||
| 	 | ||||
| 	logging.basicConfig(level=opts.loglevel, format='%(levelname)-8s %(message)s') | ||||
|  | ||||
| 	#load xml config | ||||
| 	logging.info("Loading config file: %s" % opts.configfile) | ||||
| 	config = configparser.RawConfigParser() | ||||
| 	config.read(opts.configfile) | ||||
| 	 | ||||
| 	#init | ||||
| 	logging.info("Account 1 is %s" % config.get('account1', 'jid')) | ||||
| 	xmpp1 = TestClient(config.get('account1','jid'), config.get('account1','pass')) | ||||
| 	logging.info("Account 2 is %s" % config.get('account2', 'jid')) | ||||
| 	xmpp2 = TestClient(config.get('account2','jid'), config.get('account2','pass')) | ||||
| 	 | ||||
| 	xmpp1.registerPlugin('xep_0004') | ||||
| 	xmpp1.registerPlugin('xep_0030') | ||||
| 	xmpp1.registerPlugin('xep_0060') | ||||
| 	xmpp1.registerPlugin('xep_0199') | ||||
| 	xmpp1.registerPlugin('jobs') | ||||
| 	xmpp2.registerPlugin('xep_0004') | ||||
| 	xmpp2.registerPlugin('xep_0030') | ||||
| 	xmpp2.registerPlugin('xep_0060') | ||||
| 	xmpp2.registerPlugin('xep_0199') | ||||
| 	xmpp2.registerPlugin('jobs') | ||||
|  | ||||
| 	if not config.get('account1', 'server'): | ||||
| 		# we don't know the server, but the lib can probably figure it out | ||||
| 		xmpp1.connect()  | ||||
| 	else: | ||||
| 		xmpp1.connect((config.get('account1', 'server'), 5222)) | ||||
| 	xmpp1.process(threaded=True) | ||||
| 	 | ||||
| 	#init | ||||
| 	if not config.get('account2', 'server'): | ||||
| 		# we don't know the server, but the lib can probably figure it out | ||||
| 		xmpp2.connect()  | ||||
| 	else: | ||||
| 		xmpp2.connect((config.get('account2', 'server'), 5222)) | ||||
| 	xmpp2.process(threaded=True) | ||||
|  | ||||
| 	TestPubsubServer.xmpp1 = xmpp1 | ||||
| 	TestPubsubServer.xmpp2 = xmpp2 | ||||
| 	TestPubsubServer.pshost = config.get('settings', 'pubsub') | ||||
| 	xmpp1.waitforstart.get(True) | ||||
| 	xmpp2.waitforstart.get(True) | ||||
| 	testsuite = unittest.TestLoader().loadTestsFromTestCase(TestPubsubServer) | ||||
|  | ||||
| 	alltests_suite = unittest.TestSuite([testsuite]) | ||||
| 	result = unittest.TextTestRunner(verbosity=2).run(alltests_suite) | ||||
| 	xmpp1.disconnect() | ||||
| 	xmpp2.disconnect() | ||||
							
								
								
									
										233
									
								
								conn_tests/test_pubsubserver.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										233
									
								
								conn_tests/test_pubsubserver.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,233 @@ | ||||
| import logging | ||||
| import sleekxmpp | ||||
| from optparse import OptionParser | ||||
| from xml.etree import cElementTree as ET | ||||
| import os | ||||
| import time | ||||
| import sys | ||||
| import unittest | ||||
| import sleekxmpp.plugins.xep_0004 | ||||
| from sleekxmpp.xmlstream.matcher.stanzapath import StanzaPath | ||||
| from sleekxmpp.xmlstream.handler.waiter import Waiter | ||||
| try: | ||||
| 	import configparser | ||||
| except ImportError: | ||||
| 	import ConfigParser as configparser | ||||
| try: | ||||
| 	import queue | ||||
| except ImportError: | ||||
| 	import Queue as queue | ||||
|  | ||||
| class TestClient(sleekxmpp.ClientXMPP): | ||||
| 	def __init__(self, jid, password): | ||||
| 		sleekxmpp.ClientXMPP.__init__(self, jid, password) | ||||
| 		self.add_event_handler("session_start", self.start) | ||||
| 		#self.add_event_handler("message", self.message) | ||||
| 		self.waitforstart = queue.Queue() | ||||
| 	 | ||||
| 	def start(self, event): | ||||
| 		self.getRoster() | ||||
| 		self.sendPresence() | ||||
| 		self.waitforstart.put(True) | ||||
|  | ||||
|  | ||||
| class TestPubsubServer(unittest.TestCase): | ||||
| 	statev = {} | ||||
|  | ||||
| 	def __init__(self, *args, **kwargs): | ||||
| 		unittest.TestCase.__init__(self, *args, **kwargs) | ||||
|  | ||||
| 	def setUp(self): | ||||
| 		pass | ||||
|  | ||||
| 	def test001getdefaultconfig(self): | ||||
| 		"""Get the default node config""" | ||||
| 		self.xmpp1['xep_0060'].deleteNode(self.pshost, 'testnode2') | ||||
| 		self.xmpp1['xep_0060'].deleteNode(self.pshost, 'testnode3') | ||||
| 		self.xmpp1['xep_0060'].deleteNode(self.pshost, 'testnode4') | ||||
| 		self.xmpp1['xep_0060'].deleteNode(self.pshost, 'testnode5') | ||||
| 		result = self.xmpp1['xep_0060'].getNodeConfig(self.pshost) | ||||
| 		self.statev['defaultconfig'] = result | ||||
| 		self.failUnless(isinstance(result, sleekxmpp.plugins.xep_0004.Form)) | ||||
| 	 | ||||
| 	def test002createdefaultnode(self): | ||||
| 		"""Create a node without config""" | ||||
| 		self.failUnless(self.xmpp1['xep_0060'].create_node(self.pshost, 'testnode1')) | ||||
|  | ||||
| 	def test003deletenode(self): | ||||
| 		"""Delete recently created node""" | ||||
| 		self.failUnless(self.xmpp1['xep_0060'].deleteNode(self.pshost, 'testnode1')) | ||||
| 	 | ||||
| 	def test004createnode(self): | ||||
| 		"""Create a node with a config""" | ||||
| 		self.statev['defaultconfig'].field['pubsub#access_model'].setValue('open') | ||||
| 		self.statev['defaultconfig'].field['pubsub#notify_retract'].setValue(True) | ||||
| 		self.failUnless(self.xmpp1['xep_0060'].create_node(self.pshost, 'testnode2', self.statev['defaultconfig'])) | ||||
| 	 | ||||
| 	def test005reconfigure(self): | ||||
| 		"""Retrieving node config and reconfiguring""" | ||||
| 		nconfig = self.xmpp1['xep_0060'].getNodeConfig(self.pshost, 'testnode2') | ||||
| 		self.failUnless(nconfig, "No configuration returned") | ||||
| 		#print("\n%s ==\n %s" % (nconfig.getValues(), self.statev['defaultconfig'].getValues())) | ||||
| 		self.failUnless(nconfig.getValues() == self.statev['defaultconfig'].getValues(), "Configuration does not match") | ||||
| 		self.failUnless(self.xmpp1['xep_0060'].setNodeConfig(self.pshost, 'testnode2', nconfig)) | ||||
|  | ||||
| 	def test006subscribetonode(self): | ||||
| 		"""Subscribe to node from account 2""" | ||||
| 		self.failUnless(self.xmpp2['xep_0060'].subscribe(self.pshost, "testnode2")) | ||||
| 	 | ||||
| 	def test007publishitem(self): | ||||
| 		"""Publishing item""" | ||||
| 		item = ET.Element('{http://netflint.net/protocol/test}test') | ||||
| 		w = Waiter('wait publish', StanzaPath('message/pubsub_event/items')) | ||||
| 		self.xmpp2.registerHandler(w) | ||||
| 		result = self.xmpp1['xep_0060'].setItem(self.pshost, "testnode2", (('test1', item),)) | ||||
| 		msg = w.wait(5) # got to get a result in 5 seconds | ||||
| 		self.failUnless(msg != False, "Account #2 did not get message event") | ||||
| 		self.failUnless(result) | ||||
| 		#need to add check for update | ||||
| 	 | ||||
| 	def test008updateitem(self): | ||||
| 		"""Updating item""" | ||||
| 		item = ET.Element('{http://netflint.net/protocol/test}test', {'someattr': 'hi there'}) | ||||
| 		w = Waiter('wait publish', StanzaPath('message/pubsub_event/items')) | ||||
| 		self.xmpp2.registerHandler(w) | ||||
| 		result = self.xmpp1['xep_0060'].setItem(self.pshost, "testnode2", (('test1', item),)) | ||||
| 		msg = w.wait(5) # got to get a result in 5 seconds | ||||
| 		self.failUnless(msg != False, "Account #2 did not get message event") | ||||
| 		self.failUnless(result) | ||||
| 		#need to add check for update | ||||
| 	 | ||||
| 	def test009deleteitem(self): | ||||
| 		"""Deleting item""" | ||||
| 		w = Waiter('wait retract', StanzaPath('message/pubsub_event/items@node=testnode2')) | ||||
| 		self.xmpp2.registerHandler(w) | ||||
| 		result = self.xmpp1['xep_0060'].deleteItem(self.pshost, "testnode2", "test1") | ||||
| 		self.failUnless(result, "Got error when deleting item.") | ||||
| 		msg = w.wait(1) | ||||
| 		self.failUnless(msg != False, "Did not get retract notice.") | ||||
| 	 | ||||
| 	def test010unsubscribenode(self): | ||||
| 		"Unsubscribing Account #2" | ||||
| 		self.failUnless(self.xmpp2['xep_0060'].unsubscribe(self.pshost, "testnode2"), "Got error response when unsubscribing.") | ||||
| 	 | ||||
| 	def test011createcollectionnode(self): | ||||
| 		"Create a collection node w/ Account #2" | ||||
| 		self.failUnless(self.xmpp2['xep_0060'].create_node(self.pshost, "testnode3", self.statev['defaultconfig'], True), "Could not create collection node") | ||||
| 	 | ||||
| 	def test012subscribecollection(self): | ||||
| 		"Subscribe Account #1 to collection" | ||||
| 		self.failUnless(self.xmpp1['xep_0060'].subscribe(self.pshost, "testnode3")) | ||||
| 	 | ||||
| 	def test013assignnodetocollection(self): | ||||
| 		"Assign node to collection" | ||||
| 		self.failUnless(self.xmpp2['xep_0060'].addNodeToCollection(self.pshost, 'testnode2', 'testnode3')) | ||||
| 	 | ||||
| 	def test014publishcollection(self): | ||||
| 		"""Publishing item to collection child""" | ||||
| 		item = ET.Element('{http://netflint.net/protocol/test}test') | ||||
| 		w = Waiter('wait publish2', StanzaPath('message/pubsub_event/items@node=testnode2')) | ||||
| 		self.xmpp1.registerHandler(w) | ||||
| 		result = self.xmpp2['xep_0060'].setItem(self.pshost, "testnode2", (('test2', item),)) | ||||
| 		msg = w.wait(5) # got to get a result in 5 seconds | ||||
| 		self.failUnless(msg != False, "Account #1 did not get message event: perhaps node was advertised incorrectly?") | ||||
| 		self.failUnless(result) | ||||
|  | ||||
| #	def test016speedtest(self): | ||||
| #		"Uncached speed test" | ||||
| #		import time | ||||
| #		start = time.time() | ||||
| #		for y in range(0, 50000, 1000): | ||||
| #			start2 = time.time() | ||||
| #			for x in range(y, y+1000): | ||||
| #				self.failUnless(self.xmpp1['xep_0060'].subscribe(self.pshost, "testnode4", subscribee="testuser%s@whatever" % x)) | ||||
| #			print time.time() - start2 | ||||
| #		seconds = time.time() - start | ||||
| #		print "--", seconds | ||||
| #		print "---------" | ||||
| #		time.sleep(15) | ||||
| #		self.failUnless(self.xmpp1['xep_0060'].deleteNode(self.pshost, 'testnode4'), "Could not delete non-cached test node") | ||||
| 	 | ||||
| #	def test015speedtest(self): | ||||
| #		"cached speed test" | ||||
| #		result = self.xmpp1['xep_0060'].getNodeConfig(self.pshost) | ||||
| #		self.statev['defaultconfig'] = result | ||||
| #		self.statev['defaultconfig'].field['pubsub#node_type'].setValue("leaf") | ||||
| #		self.statev['defaultconfig'].field['sleek#saveonchange'].setValue(True) | ||||
| #		self.failUnless(self.xmpp1['xep_0060'].create_node(self.pshost, 'testnode4', self.statev['defaultconfig'])) | ||||
| #		self.statev['defaultconfig'].field['sleek#saveonchange'].setValue(False) | ||||
| #		self.failUnless(self.xmpp1['xep_0060'].create_node(self.pshost, 'testnode5', self.statev['defaultconfig'])) | ||||
| #		start = time.time() | ||||
| #		for y in range(0, 50000, 1000): | ||||
| #			start2 = time.time() | ||||
| #			for x in range(y, y+1000): | ||||
| #				self.failUnless(self.xmpp1['xep_0060'].subscribe(self.pshost, "testnode5", subscribee="testuser%s@whatever" % x)) | ||||
| #			print time.time() - start2 | ||||
| #		seconds = time.time() - start | ||||
| #		print "--", seconds | ||||
|  | ||||
| 	def test900cleanup(self): | ||||
| 		"Cleaning up" | ||||
| 		self.failUnless(self.xmpp1['xep_0060'].deleteNode(self.pshost, 'testnode2'), "Could not delete test node.") | ||||
| 		self.failUnless(self.xmpp1['xep_0060'].deleteNode(self.pshost, 'testnode3'), "Could not delete collection node") | ||||
| 	 | ||||
|  | ||||
| if __name__ == '__main__': | ||||
| 	#parse command line arguements | ||||
| 	optp = OptionParser() | ||||
| 	optp.add_option('-q','--quiet', help='set logging to ERROR', action='store_const', dest='loglevel', const=logging.ERROR, default=logging.INFO) | ||||
| 	optp.add_option('-d','--debug', help='set logging to DEBUG', action='store_const', dest='loglevel', const=logging.DEBUG, default=logging.INFO) | ||||
| 	optp.add_option('-v','--verbose', help='set logging to COMM', action='store_const', dest='loglevel', const=5, default=logging.INFO) | ||||
| 	optp.add_option("-c","--config", dest="configfile", default="config.xml", help="set config file to use") | ||||
| 	optp.add_option("-n","--nodenum", dest="nodenum", default="1", help="set node number to use") | ||||
| 	optp.add_option("-p","--pubsub", dest="pubsub", default="1", help="set pubsub host to use") | ||||
| 	opts,args = optp.parse_args() | ||||
| 	 | ||||
| 	logging.basicConfig(level=opts.loglevel, format='%(levelname)-8s %(message)s') | ||||
|  | ||||
| 	#load xml config | ||||
| 	logging.info("Loading config file: %s" % opts.configfile) | ||||
| 	config = configparser.RawConfigParser() | ||||
| 	config.read(opts.configfile) | ||||
| 	 | ||||
| 	#init | ||||
| 	logging.info("Account 1 is %s" % config.get('account1', 'jid')) | ||||
| 	xmpp1 = TestClient(config.get('account1','jid'), config.get('account1','pass')) | ||||
| 	logging.info("Account 2 is %s" % config.get('account2', 'jid')) | ||||
| 	xmpp2 = TestClient(config.get('account2','jid'), config.get('account2','pass')) | ||||
| 	 | ||||
| 	xmpp1.registerPlugin('xep_0004') | ||||
| 	xmpp1.registerPlugin('xep_0030') | ||||
| 	xmpp1.registerPlugin('xep_0060') | ||||
| 	xmpp1.registerPlugin('xep_0199') | ||||
| 	xmpp2.registerPlugin('xep_0004') | ||||
| 	xmpp2.registerPlugin('xep_0030') | ||||
| 	xmpp2.registerPlugin('xep_0060') | ||||
| 	xmpp2.registerPlugin('xep_0199') | ||||
|  | ||||
| 	if not config.get('account1', 'server'): | ||||
| 		# we don't know the server, but the lib can probably figure it out | ||||
| 		xmpp1.connect()  | ||||
| 	else: | ||||
| 		xmpp1.connect((config.get('account1', 'server'), 5222)) | ||||
| 	xmpp1.process(threaded=True) | ||||
| 	 | ||||
| 	#init | ||||
| 	if not config.get('account2', 'server'): | ||||
| 		# we don't know the server, but the lib can probably figure it out | ||||
| 		xmpp2.connect()  | ||||
| 	else: | ||||
| 		xmpp2.connect((config.get('account2', 'server'), 5222)) | ||||
| 	xmpp2.process(threaded=True) | ||||
|  | ||||
| 	TestPubsubServer.xmpp1 = xmpp1 | ||||
| 	TestPubsubServer.xmpp2 = xmpp2 | ||||
| 	TestPubsubServer.pshost = config.get('settings', 'pubsub') | ||||
| 	xmpp1.waitforstart.get(True) | ||||
| 	xmpp2.waitforstart.get(True) | ||||
| 	testsuite = unittest.TestLoader().loadTestsFromTestCase(TestPubsubServer) | ||||
|  | ||||
| 	alltests_suite = unittest.TestSuite([testsuite]) | ||||
| 	result = unittest.TextTestRunner(verbosity=2).run(alltests_suite) | ||||
| 	xmpp1.disconnect() | ||||
| 	xmpp2.disconnect() | ||||
							
								
								
									
										13
									
								
								conn_tests/testconfig.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								conn_tests/testconfig.ini
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| [settings] | ||||
| enabled=true | ||||
| pubsub=pubsub.recon | ||||
|  | ||||
| [account1] | ||||
| jid=fritzy@recon | ||||
| pass=testing123 | ||||
| server= | ||||
|  | ||||
| [account2] | ||||
| jid=fritzy2@recon | ||||
| pass=testing123 | ||||
| server= | ||||
							
								
								
									
										997
									
								
								doap.xml
									
									
									
									
									
								
							
							
						
						
									
										997
									
								
								doap.xml
									
									
									
									
									
								
							| @@ -1,997 +0,0 @@ | ||||
| <?xml version="1.0"?> | ||||
| <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"> | ||||
| <Project xmlns="http://usefulinc.com/ns/doap#" xmlns:foaf="http://xmlns.com/foaf/0.1/" xmlns:xmpp="https://linkmauve.fr/ns/xmpp-doap#"> | ||||
|     <name>slixmpp</name> | ||||
|  | ||||
|     <created>2010-01-10</created> | ||||
|  | ||||
|     <shortdesc xml:lang="en">Elegant Python library for XMPP</shortdesc> | ||||
|     <shortdesc xml:lang="fr">Bibliothèque pour XMPP élégante, en Python</shortdesc> | ||||
|  | ||||
|     <description xml:lang="en">Add description</description> | ||||
|     <description xml:lang="fr">Ajouter une description</description> | ||||
|  | ||||
|     <homepage rdf:resource="https:/lab.louiz.org/poezio/slixmpp/"/> | ||||
|     <download-page rdf:resource="https://lab.louiz.org/poezio/slixmpp/tags"/> | ||||
|     <bug-database rdf:resource="https://lab.louiz.org/poezio/slixmpp/issues"/> | ||||
|     <developer-forum rdf:resource="xmpp:slixmpp@muc.poez.io?join"/> | ||||
|     <support-forum rdf:resource="xmpp:slixmpp@muc.poez.io?join"/> | ||||
|  | ||||
|     <license rdf:resource="https://lab.louiz.org/poezio/slixmpp/blob/master/LICENSE"/> | ||||
|  | ||||
|     <language>en</language> | ||||
|  | ||||
|     <programming-language>Python</programming-language> | ||||
|  | ||||
|     <os>Linux</os> | ||||
|     <os>macOS</os> | ||||
|     <os>FreeBSD</os> | ||||
|     <os>OpenBSD</os> | ||||
|     <os>NetBSD</os> | ||||
|  | ||||
|     <category rdf:resource="https://linkmauve.fr/ns/xmpp-doap#category-library"/> | ||||
|  | ||||
|     <maintainer> | ||||
|         <foaf:Person> | ||||
|             <foaf:name>Link Mauve</foaf:name> | ||||
|             <foaf:homepage rdf:resource="https://linkmauve.fr/"/> | ||||
|             <foaf:mbox_sha1sum>aaa4dac2b31c1be4ee8f8e2ab986d34fb261974f</foaf:mbox_sha1sum> | ||||
|         </foaf:Person> | ||||
|     </maintainer> | ||||
|     <maintainer> | ||||
|         <foaf:Person> | ||||
|             <foaf:name>louiz’</foaf:name> | ||||
|             <foaf:homepage rdf:resource="https://louiz.org/"/> | ||||
|             <foaf:mbox_sha1sum>a867767905969a4915147374e3a064f97cdf5d61</foaf:mbox_sha1sum> | ||||
|         </foaf:Person> | ||||
|     </maintainer> | ||||
|     <maintainer> | ||||
|         <foaf:Person> | ||||
|             <foaf:name>mathieui</foaf:name> | ||||
|             <foaf:homepage rdf:resource="https://mathieui.net/"/> | ||||
|             <foaf:mbox_sha1sum>c14292b375a7cec3f39872aa8524c66a1d9106cf</foaf:mbox_sha1sum> | ||||
|         </foaf:Person> | ||||
|     </maintainer> | ||||
|     <maintainer> | ||||
|         <foaf:Person> | ||||
|             <foaf:name>pep.</foaf:name> | ||||
|             <foaf:homepage rdf:resource="https://bouah.net/"/> | ||||
|             <foaf:mbox_sha1sum>29ed31759e39e0da3f3634e91b667275ba5e4ac6</foaf:mbox_sha1sum> | ||||
|         </foaf:Person> | ||||
|     </maintainer> | ||||
|  | ||||
|     <repository> | ||||
|         <GitRepository> | ||||
|             <browse rdf:resource="https://lab.louiz.org/poezio/slixmpp"/> | ||||
|             <location rdf:resource="https://lab.louiz.org/poezio/slixmpp.git"/> | ||||
|         </GitRepository> | ||||
|     </repository> | ||||
|  | ||||
|     <implements rdf:resource="https://xmpp.org/rfcs/rfc6120.html"/> | ||||
|     <implements rdf:resource="https://xmpp.org/rfcs/rfc6121.html"/> | ||||
|     <implements rdf:resource="https://xmpp.org/rfcs/rfc6122.html"/> | ||||
|     <implements rdf:resource="https://xmpp.org/rfcs/rfc7590.html"/> | ||||
|  | ||||
|     <!-- TODO: Figure out the level of support for each XEP. --> | ||||
|     <!-- TODO: Note which version of each XEP we support. --> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0004.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>2.11.0</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0009.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>2.2</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0012.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>2.0</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0013.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.2</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0016.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.7</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|             <xmpp:note>The XEP is deprecated, we might remove support for it at some point.</xmpp:note> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0020.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.6</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0027.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.4</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0030.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>2.5rc3</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0033.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.2.1</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0045.html"/> | ||||
|             <xmpp:status>partial</xmpp:status> | ||||
|             <xmpp:version>1.34.0</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0047.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>2.0</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0048.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.2</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|             <xmpp:note>The XEP is deprecated, we might remove support for it at some point.</xmpp:note> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0049.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.2</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0050.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.3.0</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0054.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.2</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0059.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.0</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0060.html"/> | ||||
|             <xmpp:status>partial</xmpp:status> | ||||
|             <xmpp:version>1.19.0</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0065.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.8.1</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0066.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.5</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0070.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.0.1</xmpp:version> | ||||
|             <xmpp:since>1.2</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0071.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.5.4</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|             <xmpp:note>This XEP is deprecated, but we have no plan to remove support for it.</xmpp:note> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0077.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>2.4</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0078.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>2.5</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|             <xmpp:note>This XEP is obsolete, we are considering removing support for it.</xmpp:note> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0079.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.2</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0080.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.9</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0082.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.1</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0084.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.1.4</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0085.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>2.1</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0086.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.0</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|             <xmpp:note>The XEP is deprecated, we might remove support for it at some point.</xmpp:note> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0091.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.4</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|             <xmpp:note>This XEP is obsolete, we are considering removing support for it.</xmpp:note> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0092.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.1</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0095.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.2</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|             <xmpp:note>The XEP is deprecated, we might remove support for it at some point.</xmpp:note> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0096.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.3</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|             <xmpp:note>The XEP is deprecated, we might remove support for it at some point.</xmpp:note> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0106.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.1.1</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0107.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.2.1</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0108.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.3</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0115.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.5.2</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0118.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.3.0</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0122.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.0.2</xmpp:version> | ||||
|             <xmpp:since>1.1</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0128.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.0.1</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0131.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.2</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0133.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.2</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0138.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>2.0</xmpp:version> | ||||
|             <xmpp:since>1.1</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0152.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.0</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0153.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.1</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0163.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.2.1</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0172.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.1</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0184.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.4.0</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0186.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.14.0</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0191.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.3</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0196.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.3</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0198.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.6</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0199.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>2.0.1</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0202.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>2.0</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0203.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>2.0</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0221.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.0</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0222.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.0</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0223.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.1</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0224.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.0</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0231.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.0</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0235.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.7</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0242.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.0</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|             <xmpp:note>This XEP is obsolete, we are considering removing support for it.</xmpp:note> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0249.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.2</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0256.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.1</xmpp:version> | ||||
|             <xmpp:since>1.2</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0257.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.3</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0258.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.1.1</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0270.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.1</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|             <xmpp:note>This XEP is obsolete, we are considering removing support for it.</xmpp:note> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0279.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.2</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0280.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.13.2</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0297.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.0</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0300.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.0.0</xmpp:version> | ||||
|             <xmpp:since>1.3.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0302.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.1</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|             <xmpp:note>This XEP is obsolete, we are considering removing support for it.</xmpp:note> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0308.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.2.0</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0313.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.7.2</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0319.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.0.2</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0323.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.6</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|             <xmpp:note>This XEP has been retracted, we are considering removing support for it.</xmpp:note> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0325.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.5</xmpp:version> | ||||
|             <xmpp:since>1.0</xmpp:since> | ||||
|             <xmpp:note>This XEP has been retracted, we are considering removing support for it.</xmpp:note> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0332.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.5.1</xmpp:version> | ||||
|             <xmpp:since>1.1</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0333.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.4</xmpp:version> | ||||
|             <xmpp:since>1.2</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0334.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.3.0</xmpp:version> | ||||
|             <xmpp:since>1.2</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0335.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.1.1</xmpp:version> | ||||
|             <xmpp:since>1.5.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0352.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.0.0</xmpp:version> | ||||
|             <xmpp:since>1.2</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0353.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.3</xmpp:version> | ||||
|             <xmpp:since>1.6.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0359.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.6.1</xmpp:version> | ||||
|             <xmpp:since>1.6.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0363.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>1.0.0</xmpp:version> | ||||
|             <xmpp:since>1.4.1</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0369.html"/> | ||||
|             <xmpp:status>partial</xmpp:status> | ||||
|             <xmpp:version>0.14.6</xmpp:version> | ||||
|             <xmpp:since>1.6.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0377.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.2</xmpp:version> | ||||
|             <xmpp:since>1.6.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0380.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.3.0</xmpp:version> | ||||
|             <xmpp:since>1.3.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0394.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.2.1</xmpp:version> | ||||
|             <xmpp:since>1.3.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0403.html"/> | ||||
|             <xmpp:status>partial</xmpp:status> | ||||
|             <xmpp:version>0.3.2</xmpp:version> | ||||
|             <xmpp:since>1.6.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0404.html"/> | ||||
|             <xmpp:status>partial</xmpp:status> | ||||
|             <xmpp:version>0.3.1</xmpp:version> | ||||
|             <xmpp:since>1.6.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0405.html"/> | ||||
|             <xmpp:status>partial</xmpp:status> | ||||
|             <xmpp:version>0.5.1</xmpp:version> | ||||
|             <xmpp:since>1.6.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0421.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.1.0</xmpp:version> | ||||
|             <xmpp:since>1.6.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0422.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.2.0</xmpp:version> | ||||
|             <xmpp:since>1.6.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0424.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.3.0</xmpp:version> | ||||
|             <xmpp:since>1.6.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0425.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.2.1</xmpp:version> | ||||
|             <xmpp:since>1.6.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0428.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.1.1</xmpp:version> | ||||
|             <xmpp:since>1.6.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0437.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.2.0</xmpp:version> | ||||
|             <xmpp:since>1.6.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0439.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.1.0</xmpp:version> | ||||
|             <xmpp:since>1.6.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|     <implements> | ||||
|         <xmpp:SupportedXep> | ||||
|             <xmpp:xep rdf:resource="https://xmpp.org/extensions/xep-0444.html"/> | ||||
|             <xmpp:status>complete</xmpp:status> | ||||
|             <xmpp:version>0.1.0</xmpp:version> | ||||
|             <xmpp:since>1.6.0</xmpp:since> | ||||
|         </xmpp:SupportedXep> | ||||
|     </implements> | ||||
|  | ||||
|     <release> | ||||
|         <Version> | ||||
|             <revision>1.0</revision> | ||||
|             <created>2015-07-31</created> | ||||
|             <file-release rdf:resource="https://files.pythonhosted.org/packages/e7/cc/d102dee9d4cf93e24ffcf6c43c3b50e2615c2ee4514e5fd160d96b9fe536/slixmpp-1.0.post5.tar.gz"/> | ||||
|         </Version> | ||||
|     </release> | ||||
|     <release> | ||||
|         <Version> | ||||
|             <revision>1.1</revision> | ||||
|             <created>2015-10-02</created> | ||||
|             <file-release rdf:resource="https://files.pythonhosted.org/packages/2a/8a/cb032a938bf245decc88aec2f2e03401802766a1a97f9daf3bf7fee5b07f/slixmpp-1.1.tar.gz"/> | ||||
|         </Version> | ||||
|     </release> | ||||
|     <release> | ||||
|         <Version> | ||||
|             <revision>1.2</revision> | ||||
|             <created>2016-10-02</created> | ||||
|             <file-release rdf:resource="https://files.pythonhosted.org/packages/c2/9f/1ac5304ab1801b08c20b07ee658583abdce9b7ae47ea3faf0d062e86221b/slixmpp-1.2.tar.gz"/> | ||||
|         </Version> | ||||
|     </release> | ||||
|     <release> | ||||
|         <Version> | ||||
|             <revision>1.2.1</revision> | ||||
|             <created>2016-10-05</created> | ||||
|             <file-release rdf:resource="https://files.pythonhosted.org/packages/73/7e/072aca82a2f8e25a93ce8755553f36e82975e950f23a69dc10164a23f32f/slixmpp-1.2.1.tar.gz"/> | ||||
|         </Version> | ||||
|     </release> | ||||
|     <release> | ||||
|         <Version> | ||||
|             <revision>1.2.2</revision> | ||||
|             <created>2016-11-21</created> | ||||
|             <file-release rdf:resource="https://files.pythonhosted.org/packages/8f/96/19c610e3b42baa140572bb3c79723902ae608bec8d3f0fa3cb187a5c12ba/slixmpp-1.2.2.tar.gz"/> | ||||
|         </Version> | ||||
|     </release> | ||||
|     <release> | ||||
|         <Version> | ||||
|             <revision>1.2.3</revision> | ||||
|             <created>2016-12-07</created> | ||||
|             <file-release rdf:resource="https://files.pythonhosted.org/packages/91/af/4018e1fda624af97d4e8fb37ff2cf2744926c126285488c55a5ad1f755da/slixmpp-1.2.3.tar.gz"/> | ||||
|         </Version> | ||||
|     </release> | ||||
|     <release> | ||||
|         <Version> | ||||
|             <revision>1.2.4</revision> | ||||
|             <created>2017-01-30</created> | ||||
|             <file-release rdf:resource="https://files.pythonhosted.org/packages/49/bb/092f0c07d6f7ac6922ceea57155c24561af7ee0736c15e7f833ab916c06e/slixmpp-1.2.4.post1.tar.gz"/> | ||||
|         </Version> | ||||
|     </release> | ||||
|     <release> | ||||
|         <Version> | ||||
|             <revision>1.3.0</revision> | ||||
|             <created>2017-11-28</created> | ||||
|             <file-release rdf:resource="https://files.pythonhosted.org/packages/84/df/c0972daaca550d98b313e0029dc7158b1b10e120f510917a3d34b5b5f102/slixmpp-1.3.0.tar.gz"/> | ||||
|         </Version> | ||||
|     </release> | ||||
|     <release> | ||||
|         <Version> | ||||
|             <revision>1.4.0</revision> | ||||
|             <created>2018-08-12</created> | ||||
|             <file-release rdf:resource="https://files.pythonhosted.org/packages/0a/50/76a06d929668252244a1cef515c48c21403a72988c20cab2f74ef0b4ecbd/slixmpp-1.4.0.tar.gz"/> | ||||
|         </Version> | ||||
|     </release> | ||||
|     <release> | ||||
|         <Version> | ||||
|             <revision>1.4.1</revision> | ||||
|             <created>2018-10-28</created> | ||||
|             <file-release rdf:resource="https://files.pythonhosted.org/packages/c6/d3/ed986188026843e0b98de816ab8f4d91a61865db8d4a9162f10596f5431e/slixmpp-1.4.1.tar.gz"/> | ||||
|         </Version> | ||||
|     </release> | ||||
|     <release> | ||||
|         <Version> | ||||
|             <revision>1.4.2</revision> | ||||
|             <created>2019-01-31</created> | ||||
|             <file-release rdf:resource="https://files.pythonhosted.org/packages/69/8f/1fa625d035af93bd3dd72589e33e3ff1954bdd37546bedc9246d048b0c93/slixmpp-1.4.2.tar.gz"/> | ||||
|         </Version> | ||||
|     </release> | ||||
|     <release> | ||||
|         <Version> | ||||
|             <revision>1.5.0</revision> | ||||
|             <created>2020-05-01</created> | ||||
|             <file-release rdf:resource="https://files.pythonhosted.org/packages/35/6c/cda25435be70821def0013c3d41761ea42c11a0c4e33b8cbca0206a21381/slixmpp-1.5.0.tar.gz"/> | ||||
|         </Version> | ||||
|     </release> | ||||
|     <release> | ||||
|         <Version> | ||||
|             <revision>1.5.1</revision> | ||||
|             <created>2020-05-02</created> | ||||
|             <file-release rdf:resource="https://files.pythonhosted.org/packages/2c/37/fbc95dd3632cbdb0d6dcc44e9df51b195fc7793e6beb2059f697dd458dd2/slixmpp-1.5.1.tar.gz"/> | ||||
|         </Version> | ||||
|     </release> | ||||
|     <release> | ||||
|         <Version> | ||||
|             <revision>1.5.2</revision> | ||||
|             <created>2020-05-23</created> | ||||
|             <file-release rdf:resource="https://files.pythonhosted.org/packages/ce/f1/b7cb0ba0b2f9950d3bd8e4d256502c39ac731136e1744c926f67e2c21131/slixmpp-1.5.2.tar.gz"/> | ||||
|         </Version> | ||||
|     </release> | ||||
|     <release> | ||||
|         <Version> | ||||
|             <revision>1.6.0</revision> | ||||
|             <created>2020-12-12</created> | ||||
|             <file-release rdf:resource="https://lab.louiz.org/poezio/slixmpp/-/archive/slix-1.6.0/slixmpp-slix-1.6.0.tar.gz"/> | ||||
|         </Version> | ||||
|     </release> | ||||
| </Project> | ||||
| </rdf:RDF> | ||||
							
								
								
									
										1
									
								
								docs/.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								docs/.gitignore
									
									
									
									
										vendored
									
									
								
							| @@ -1 +0,0 @@ | ||||
| _build/* | ||||
							
								
								
									
										130
									
								
								docs/Makefile
									
									
									
									
									
								
							
							
						
						
									
										130
									
								
								docs/Makefile
									
									
									
									
									
								
							| @@ -1,130 +0,0 @@ | ||||
| # Makefile for Sphinx documentation | ||||
| # | ||||
|  | ||||
| # You can set these variables from the command line. | ||||
| SPHINXOPTS    = | ||||
| SPHINXBUILD   = sphinx-build | ||||
| PAPER         = | ||||
| BUILDDIR      = _build | ||||
|  | ||||
| # Internal variables. | ||||
| PAPEROPT_a4     = -D latex_paper_size=a4 | ||||
| PAPEROPT_letter = -D latex_paper_size=letter | ||||
| ALLSPHINXOPTS   = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . | ||||
|  | ||||
| .PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest | ||||
|  | ||||
| help: | ||||
| 	@echo "Please use \`make <target>' where <target> is one of" | ||||
| 	@echo "  html       to make standalone HTML files" | ||||
| 	@echo "  dirhtml    to make HTML files named index.html in directories" | ||||
| 	@echo "  singlehtml to make a single large HTML file" | ||||
| 	@echo "  pickle     to make pickle files" | ||||
| 	@echo "  json       to make JSON files" | ||||
| 	@echo "  htmlhelp   to make HTML files and a HTML help project" | ||||
| 	@echo "  qthelp     to make HTML files and a qthelp project" | ||||
| 	@echo "  devhelp    to make HTML files and a Devhelp project" | ||||
| 	@echo "  epub       to make an epub" | ||||
| 	@echo "  latex      to make LaTeX files, you can set PAPER=a4 or PAPER=letter" | ||||
| 	@echo "  latexpdf   to make LaTeX files and run them through pdflatex" | ||||
| 	@echo "  text       to make text files" | ||||
| 	@echo "  man        to make manual pages" | ||||
| 	@echo "  changes    to make an overview of all changed/added/deprecated items" | ||||
| 	@echo "  linkcheck  to check all external links for integrity" | ||||
| 	@echo "  doctest    to run all doctests embedded in the documentation (if enabled)" | ||||
|  | ||||
| clean: | ||||
| 	-rm -rf $(BUILDDIR)/* | ||||
|  | ||||
| html: | ||||
| 	$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html | ||||
| 	@echo | ||||
| 	@echo "Build finished. The HTML pages are in $(BUILDDIR)/html." | ||||
|  | ||||
| dirhtml: | ||||
| 	$(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml | ||||
| 	@echo | ||||
| 	@echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." | ||||
|  | ||||
| singlehtml: | ||||
| 	$(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml | ||||
| 	@echo | ||||
| 	@echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." | ||||
|  | ||||
| pickle: | ||||
| 	$(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle | ||||
| 	@echo | ||||
| 	@echo "Build finished; now you can process the pickle files." | ||||
|  | ||||
| json: | ||||
| 	$(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json | ||||
| 	@echo | ||||
| 	@echo "Build finished; now you can process the JSON files." | ||||
|  | ||||
| htmlhelp: | ||||
| 	$(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp | ||||
| 	@echo | ||||
| 	@echo "Build finished; now you can run HTML Help Workshop with the" \ | ||||
| 	      ".hhp project file in $(BUILDDIR)/htmlhelp." | ||||
|  | ||||
| qthelp: | ||||
| 	$(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp | ||||
| 	@echo | ||||
| 	@echo "Build finished; now you can run "qcollectiongenerator" with the" \ | ||||
| 	      ".qhcp project file in $(BUILDDIR)/qthelp, like this:" | ||||
| 	@echo "# qcollectiongenerator $(BUILDDIR)/qthelp/Slixmpp.qhcp" | ||||
| 	@echo "To view the help file:" | ||||
| 	@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/Slixmpp" | ||||
| 	@echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/Slixmpp" | ||||
| 	@echo "# devhelp" | ||||
|  | ||||
| epub: | ||||
| 	$(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub | ||||
| 	@echo | ||||
| 	@echo "Build finished. The epub file is in $(BUILDDIR)/epub." | ||||
|  | ||||
| latex: | ||||
| 	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex | ||||
| 	@echo | ||||
| 	@echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." | ||||
| 	@echo "Run \`make' in that directory to run these through (pdf)latex" \ | ||||
| 	      "(use \`make latexpdf' here to do that automatically)." | ||||
|  | ||||
| latexpdf: | ||||
| 	$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex | ||||
| 	@echo "Running LaTeX files through pdflatex..." | ||||
| 	make -C $(BUILDDIR)/latex all-pdf | ||||
| 	@echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." | ||||
|  | ||||
| text: | ||||
| 	$(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text | ||||
| 	@echo | ||||
| 	@echo "Build finished. The text files are in $(BUILDDIR)/text." | ||||
|  | ||||
| man: | ||||
| 	$(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man | ||||
| 	@echo | ||||
| 	@echo "Build finished. The manual pages are in $(BUILDDIR)/man." | ||||
|  | ||||
| changes: | ||||
| 	$(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes | ||||
| 	@echo | ||||
| 	@echo "The overview file is in $(BUILDDIR)/changes." | ||||
|  | ||||
| linkcheck: | ||||
| 	$(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck | ||||
| 	@echo | ||||
| 	@echo "Link check complete; look for any errors in the above output " \ | ||||
| 	      "or in $(BUILDDIR)/linkcheck/output.txt." | ||||
|  | ||||
| doctest: | ||||
| 	$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest | ||||
| 	@echo "Testing of doctests in the sources finished, look at the " \ | ||||
| 	      "results in $(BUILDDIR)/doctest/output.txt." | ||||
							
								
								
									
										452
									
								
								docs/_static/agogo.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										452
									
								
								docs/_static/agogo.css
									
									
									
									
										vendored
									
									
								
							| @@ -1,452 +0,0 @@ | ||||
| /* | ||||
|  * agogo.css_t | ||||
|  * ~~~~~~~~~~~ | ||||
|  * | ||||
|  * Sphinx stylesheet -- agogo theme. | ||||
|  * | ||||
|  * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. | ||||
|  * :license: BSD, see LICENSE for details. | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| * { | ||||
|   margin: 0px; | ||||
|   padding: 0px; | ||||
| } | ||||
|  | ||||
| body { | ||||
|   font-family: "Verdana", Arial, sans-serif; | ||||
|   line-height: 1.4em; | ||||
|   color: black; | ||||
|   background-color: #eeeeec; | ||||
| } | ||||
|  | ||||
|  | ||||
| /* Page layout */ | ||||
|  | ||||
| div.header, div.content, div.footer { | ||||
|   width: 70em; | ||||
|   margin-left: auto; | ||||
|   margin-right: auto; | ||||
| } | ||||
|  | ||||
| div.header-wrapper { | ||||
|   background: url(bgtop.png) top left repeat-x; | ||||
|   border-bottom: 3px solid #2e3436; | ||||
| } | ||||
|  | ||||
|  | ||||
| /* Default body styles */ | ||||
| a { | ||||
|   color: #ce5c00; | ||||
| } | ||||
|  | ||||
| div.bodywrapper a, div.footer a { | ||||
|   text-decoration: underline; | ||||
| } | ||||
|  | ||||
| .clearer { | ||||
|   clear: both; | ||||
| } | ||||
|  | ||||
| .left { | ||||
|   float: left; | ||||
| } | ||||
|  | ||||
| .right { | ||||
|   float: right; | ||||
| } | ||||
|  | ||||
| .line-block { | ||||
|     display: block; | ||||
|     margin-top: 1em; | ||||
|     margin-bottom: 1em; | ||||
| } | ||||
|  | ||||
| .line-block .line-block { | ||||
|     margin-top: 0; | ||||
|     margin-bottom: 0; | ||||
|     margin-left: 1.5em; | ||||
| } | ||||
|  | ||||
| h1, h2, h3, h4 { | ||||
|   font-family: "Georgia", "Times New Roman", serif; | ||||
|   font-weight: normal; | ||||
|   color: #3465a4; | ||||
|   margin-bottom: .8em; | ||||
| } | ||||
|  | ||||
| h1 { | ||||
|   color: #204a87; | ||||
| } | ||||
|  | ||||
| h2 { | ||||
|   padding-bottom: .5em; | ||||
|   border-bottom: 1px solid #3465a4; | ||||
| } | ||||
|  | ||||
| a.headerlink { | ||||
|   visibility: hidden; | ||||
|   color: #dddddd; | ||||
|   padding-left: .3em; | ||||
| } | ||||
|  | ||||
| h1:hover > a.headerlink, | ||||
| h2:hover > a.headerlink, | ||||
| h3:hover > a.headerlink, | ||||
| h4:hover > a.headerlink, | ||||
| h5:hover > a.headerlink, | ||||
| h6:hover > a.headerlink, | ||||
| dt:hover > a.headerlink { | ||||
|   visibility: visible; | ||||
| } | ||||
|  | ||||
| img { | ||||
|   border: 0; | ||||
| } | ||||
|  | ||||
| div.admonition { | ||||
|   margin-top: 10px; | ||||
|   margin-bottom: 10px; | ||||
|   padding: 2px 7px 1px 7px; | ||||
|   border-left: 0.2em solid black; | ||||
| } | ||||
|  | ||||
| p.admonition-title { | ||||
|   margin: 0px 10px 5px 0px; | ||||
|   font-weight: bold; | ||||
| } | ||||
|  | ||||
| dt:target, .highlighted { | ||||
|   background-color: #fbe54e; | ||||
| } | ||||
|  | ||||
| /* Header */ | ||||
|  | ||||
| div.header { | ||||
|   padding-top: 10px; | ||||
|   padding-bottom: 10px; | ||||
| } | ||||
|  | ||||
| div.header h1 { | ||||
|   font-family: "Georgia", "Times New Roman", serif; | ||||
|   font-weight: normal; | ||||
|   font-size: 180%; | ||||
|   letter-spacing: .08em; | ||||
| } | ||||
|  | ||||
| div.header h1 a { | ||||
|   color: white; | ||||
| } | ||||
|  | ||||
| div.header div.rel { | ||||
|   margin-top: 1em; | ||||
| } | ||||
|  | ||||
| div.header div.rel a { | ||||
|   color: #fcaf3e; | ||||
|   letter-spacing: .1em; | ||||
|   text-transform: uppercase; | ||||
| } | ||||
|  | ||||
| p.logo { | ||||
|     float: right; | ||||
| } | ||||
|  | ||||
| img.logo { | ||||
|     border: 0; | ||||
| } | ||||
|  | ||||
|  | ||||
| /* Content */ | ||||
| div.content-wrapper { | ||||
|   background-color: white; | ||||
|   padding-top: 20px; | ||||
|   padding-bottom: 20px; | ||||
| } | ||||
|  | ||||
| div.document { | ||||
|   width: 50em; | ||||
|   float: left; | ||||
| } | ||||
|  | ||||
| div.body { | ||||
|   padding-right: 2em; | ||||
|   text-align: justify; | ||||
| } | ||||
|  | ||||
| div.document ul { | ||||
|   margin: 1.5em; | ||||
|   list-style-type: square; | ||||
| } | ||||
|  | ||||
| div.document dd { | ||||
|   margin-left: 1.2em; | ||||
|   margin-top: .4em; | ||||
|   margin-bottom: 1em; | ||||
| } | ||||
|  | ||||
| div.document .section { | ||||
|   margin-top: 1.7em; | ||||
| } | ||||
| div.document .section:first-child { | ||||
|   margin-top: 0px; | ||||
| } | ||||
|  | ||||
| div.document div.highlight { | ||||
|   padding: 3px; | ||||
|   background-color: #eeeeec; | ||||
|   border-top: 2px solid #dddddd; | ||||
|   border-bottom: 2px solid #dddddd; | ||||
|   margin-top: .8em; | ||||
|   margin-bottom: .8em; | ||||
| } | ||||
|  | ||||
| div.document h2 { | ||||
|   margin-top: .7em; | ||||
| } | ||||
|  | ||||
| div.document p { | ||||
|   margin-bottom: .5em; | ||||
| } | ||||
|  | ||||
| div.document li.toctree-l1 { | ||||
|   margin-bottom: 1em; | ||||
| } | ||||
|  | ||||
| div.document .descname { | ||||
|   font-weight: bold; | ||||
| } | ||||
|  | ||||
| div.document .docutils.literal { | ||||
|   background-color: #eeeeec; | ||||
|   padding: 1px; | ||||
| } | ||||
|  | ||||
| div.document .docutils.xref.literal { | ||||
|   background-color: transparent; | ||||
|   padding: 0px; | ||||
| } | ||||
|  | ||||
| div.document blockquote { | ||||
|   margin: 1em; | ||||
| } | ||||
|  | ||||
| div.document ol { | ||||
|   margin: 1.5em; | ||||
| } | ||||
|  | ||||
|  | ||||
| /* Sidebar */ | ||||
|  | ||||
| div.sidebar { | ||||
|   width: 20em; | ||||
|   float: right; | ||||
|   font-size: .9em; | ||||
| } | ||||
|  | ||||
| div.sidebar a, div.header a { | ||||
|   text-decoration: none; | ||||
| } | ||||
|  | ||||
| div.sidebar a:hover, div.header a:hover { | ||||
|   text-decoration: underline; | ||||
| } | ||||
|  | ||||
| div.sidebar h3 { | ||||
|   color: #2e3436; | ||||
|   text-transform: uppercase; | ||||
|   font-size: 130%; | ||||
|   letter-spacing: .1em; | ||||
| } | ||||
|  | ||||
| div.sidebar ul { | ||||
|   list-style-type: none; | ||||
| } | ||||
|  | ||||
| div.sidebar li.toctree-l1 a { | ||||
|   display: block; | ||||
|   padding: 1px; | ||||
|   border: 1px solid #dddddd; | ||||
|   background-color: #eeeeec; | ||||
|   margin-bottom: .4em; | ||||
|   padding-left: 3px; | ||||
|   color: #2e3436; | ||||
| } | ||||
|  | ||||
| div.sidebar li.toctree-l2 a { | ||||
|   background-color: transparent; | ||||
|   border: none; | ||||
|   margin-left: 1em; | ||||
|   border-bottom: 1px solid #dddddd; | ||||
| } | ||||
|  | ||||
| div.sidebar li.toctree-l3 a { | ||||
|   background-color: transparent; | ||||
|   border: none; | ||||
|   margin-left: 2em; | ||||
|   border-bottom: 1px solid #dddddd; | ||||
| } | ||||
|  | ||||
| div.sidebar li.toctree-l2:last-child a { | ||||
|   border-bottom: none; | ||||
| } | ||||
|  | ||||
| div.sidebar li.toctree-l1.current a { | ||||
|   border-right: 5px solid #fcaf3e; | ||||
| } | ||||
|  | ||||
| div.sidebar li.toctree-l1.current li.toctree-l2 a { | ||||
|   border-right: none; | ||||
| } | ||||
|  | ||||
|  | ||||
| /* Footer */ | ||||
|  | ||||
| div.footer-wrapper { | ||||
|   background: url(bgfooter.png) top left repeat-x; | ||||
|   border-top: 4px solid #babdb6; | ||||
|   padding-top: 10px; | ||||
|   padding-bottom: 10px; | ||||
|   min-height: 80px; | ||||
| } | ||||
|  | ||||
| div.footer, div.footer a { | ||||
|   color: #888a85; | ||||
| } | ||||
|  | ||||
| div.footer .right { | ||||
|   text-align: right; | ||||
| } | ||||
|  | ||||
| div.footer .left { | ||||
|   text-transform: uppercase; | ||||
| } | ||||
|  | ||||
|  | ||||
| /* Styles copied from basic theme */ | ||||
|  | ||||
| img.align-left, .figure.align-left, object.align-left { | ||||
|     clear: left; | ||||
|     float: left; | ||||
|     margin-right: 1em; | ||||
| } | ||||
|  | ||||
| img.align-right, .figure.align-right, object.align-right { | ||||
|     clear: right; | ||||
|     float: right; | ||||
|     margin-left: 1em; | ||||
| } | ||||
|  | ||||
| img.align-center, .figure.align-center, object.align-center { | ||||
|   display: block; | ||||
|   margin-left: auto; | ||||
|   margin-right: auto; | ||||
| } | ||||
|  | ||||
| .align-left { | ||||
|     text-align: left; | ||||
| } | ||||
|  | ||||
| .align-center { | ||||
|     clear: both; | ||||
|     text-align: center; | ||||
| } | ||||
|  | ||||
| .align-right { | ||||
|     text-align: right; | ||||
| } | ||||
|  | ||||
| /* -- search page ----------------------------------------------------------- */ | ||||
|  | ||||
| ul.search { | ||||
|     margin: 10px 0 0 20px; | ||||
|     padding: 0; | ||||
| } | ||||
|  | ||||
| ul.search li { | ||||
|     padding: 5px 0 5px 20px; | ||||
|     background-image: url(file.png); | ||||
|     background-repeat: no-repeat; | ||||
|     background-position: 0 7px; | ||||
| } | ||||
|  | ||||
| ul.search li a { | ||||
|     font-weight: bold; | ||||
| } | ||||
|  | ||||
| ul.search li div.context { | ||||
|     color: #888; | ||||
|     margin: 2px 0 0 30px; | ||||
|     text-align: left; | ||||
| } | ||||
|  | ||||
| ul.keywordmatches li.goodmatch a { | ||||
|     font-weight: bold; | ||||
| } | ||||
|  | ||||
| /* -- index page ------------------------------------------------------------ */ | ||||
|  | ||||
| table.contentstable { | ||||
|     width: 90%; | ||||
| } | ||||
|  | ||||
| table.contentstable p.biglink { | ||||
|     line-height: 150%; | ||||
| } | ||||
|  | ||||
| a.biglink { | ||||
|     font-size: 1.3em; | ||||
| } | ||||
|  | ||||
| span.linkdescr { | ||||
|     font-style: italic; | ||||
|     padding-top: 5px; | ||||
|     font-size: 90%; | ||||
| } | ||||
|  | ||||
| /* -- general index --------------------------------------------------------- */ | ||||
|  | ||||
| table.indextable td { | ||||
|     text-align: left; | ||||
|     vertical-align: top; | ||||
| } | ||||
|  | ||||
| table.indextable dl, table.indextable dd { | ||||
|     margin-top: 0; | ||||
|     margin-bottom: 0; | ||||
| } | ||||
|  | ||||
| table.indextable tr.pcap { | ||||
|     height: 10px; | ||||
| } | ||||
|  | ||||
| table.indextable tr.cap { | ||||
|     margin-top: 10px; | ||||
|     background-color: #f2f2f2; | ||||
| } | ||||
|  | ||||
| img.toggler { | ||||
|     margin-right: 3px; | ||||
|     margin-top: 3px; | ||||
|     cursor: pointer; | ||||
| } | ||||
|  | ||||
| /* -- viewcode extension ---------------------------------------------------- */ | ||||
|  | ||||
| .viewcode-link { | ||||
|     float: right; | ||||
| } | ||||
|  | ||||
| .viewcode-back { | ||||
|     float: right; | ||||
|     font-family:: "Verdana", Arial, sans-serif; | ||||
| } | ||||
|  | ||||
| div.viewcode-block:target { | ||||
|     margin: -1px -3px; | ||||
|     padding: 0 3px; | ||||
|     background-color: #f4debf; | ||||
|     border-top: 1px solid #ac9; | ||||
|     border-bottom: 1px solid #ac9; | ||||
| } | ||||
							
								
								
									
										532
									
								
								docs/_static/basic.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										532
									
								
								docs/_static/basic.css
									
									
									
									
										vendored
									
									
								
							| @@ -1,532 +0,0 @@ | ||||
| /* | ||||
|  * basic.css | ||||
|  * ~~~~~~~~~ | ||||
|  * | ||||
|  * Sphinx stylesheet -- basic theme. | ||||
|  * | ||||
|  * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. | ||||
|  * :license: BSD, see LICENSE for details. | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| /* -- main layout ----------------------------------------------------------- */ | ||||
|  | ||||
| div.clearer { | ||||
|     clear: both; | ||||
| } | ||||
|  | ||||
| /* -- relbar ---------------------------------------------------------------- */ | ||||
|  | ||||
| div.related { | ||||
|     width: 100%; | ||||
|     font-size: 90%; | ||||
| } | ||||
|  | ||||
| div.related h3 { | ||||
|     display: none; | ||||
| } | ||||
|  | ||||
| div.related ul { | ||||
|     margin: 0; | ||||
|     padding: 0 0 0 10px; | ||||
|     list-style: none; | ||||
| } | ||||
|  | ||||
| div.related li { | ||||
|     display: inline; | ||||
| } | ||||
|  | ||||
| div.related li.right { | ||||
|     float: right; | ||||
|     margin-right: 5px; | ||||
| } | ||||
|  | ||||
| /* -- sidebar --------------------------------------------------------------- */ | ||||
|  | ||||
| div.sphinxsidebarwrapper { | ||||
|     padding: 10px 5px 0 10px; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar { | ||||
|     float: left; | ||||
|     width: 230px; | ||||
|     margin-left: -100%; | ||||
|     font-size: 90%; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar ul { | ||||
|     list-style: none; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar ul ul, | ||||
| div.sphinxsidebar ul.want-points { | ||||
|     margin-left: 20px; | ||||
|     list-style: square; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar ul ul { | ||||
|     margin-top: 0; | ||||
|     margin-bottom: 0; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar form { | ||||
|     margin-top: 10px; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar input { | ||||
|     border: 1px solid #98dbcc; | ||||
|     font-family: sans-serif; | ||||
|     font-size: 1em; | ||||
| } | ||||
|  | ||||
| img { | ||||
|     border: 0; | ||||
| } | ||||
|  | ||||
| /* -- search page ----------------------------------------------------------- */ | ||||
|  | ||||
| ul.search { | ||||
|     margin: 10px 0 0 20px; | ||||
|     padding: 0; | ||||
| } | ||||
|  | ||||
| ul.search li { | ||||
|     padding: 5px 0 5px 20px; | ||||
|     background-image: url(file.png); | ||||
|     background-repeat: no-repeat; | ||||
|     background-position: 0 7px; | ||||
| } | ||||
|  | ||||
| ul.search li a { | ||||
|     font-weight: bold; | ||||
| } | ||||
|  | ||||
| ul.search li div.context { | ||||
|     color: #888; | ||||
|     margin: 2px 0 0 30px; | ||||
|     text-align: left; | ||||
| } | ||||
|  | ||||
| ul.keywordmatches li.goodmatch a { | ||||
|     font-weight: bold; | ||||
| } | ||||
|  | ||||
| /* -- index page ------------------------------------------------------------ */ | ||||
|  | ||||
| table.contentstable { | ||||
|     width: 90%; | ||||
| } | ||||
|  | ||||
| table.contentstable p.biglink { | ||||
|     line-height: 150%; | ||||
| } | ||||
|  | ||||
| a.biglink { | ||||
|     font-size: 1.3em; | ||||
| } | ||||
|  | ||||
| span.linkdescr { | ||||
|     font-style: italic; | ||||
|     padding-top: 5px; | ||||
|     font-size: 90%; | ||||
| } | ||||
|  | ||||
| /* -- general index --------------------------------------------------------- */ | ||||
|  | ||||
| table.indextable { | ||||
|     width: 100%; | ||||
| } | ||||
|  | ||||
| table.indextable td { | ||||
|     text-align: left; | ||||
|     vertical-align: top; | ||||
| } | ||||
|  | ||||
| table.indextable dl, table.indextable dd { | ||||
|     margin-top: 0; | ||||
|     margin-bottom: 0; | ||||
| } | ||||
|  | ||||
| table.indextable tr.pcap { | ||||
|     height: 10px; | ||||
| } | ||||
|  | ||||
| table.indextable tr.cap { | ||||
|     margin-top: 10px; | ||||
|     background-color: #f2f2f2; | ||||
| } | ||||
|  | ||||
| img.toggler { | ||||
|     margin-right: 3px; | ||||
|     margin-top: 3px; | ||||
|     cursor: pointer; | ||||
| } | ||||
|  | ||||
| div.modindex-jumpbox { | ||||
|     border-top: 1px solid #ddd; | ||||
|     border-bottom: 1px solid #ddd; | ||||
|     margin: 1em 0 1em 0; | ||||
|     padding: 0.4em; | ||||
| } | ||||
|  | ||||
| div.genindex-jumpbox { | ||||
|     border-top: 1px solid #ddd; | ||||
|     border-bottom: 1px solid #ddd; | ||||
|     margin: 1em 0 1em 0; | ||||
|     padding: 0.4em; | ||||
| } | ||||
|  | ||||
| /* -- general body styles --------------------------------------------------- */ | ||||
|  | ||||
| a.headerlink { | ||||
|     visibility: hidden; | ||||
| } | ||||
|  | ||||
| h1:hover > a.headerlink, | ||||
| h2:hover > a.headerlink, | ||||
| h3:hover > a.headerlink, | ||||
| h4:hover > a.headerlink, | ||||
| h5:hover > a.headerlink, | ||||
| h6:hover > a.headerlink, | ||||
| dt:hover > a.headerlink { | ||||
|     visibility: visible; | ||||
| } | ||||
|  | ||||
| div.body p.caption { | ||||
|     text-align: inherit; | ||||
| } | ||||
|  | ||||
| div.body td { | ||||
|     text-align: left; | ||||
| } | ||||
|  | ||||
| .field-list ul { | ||||
|     padding-left: 1em; | ||||
| } | ||||
|  | ||||
| .first { | ||||
|     margin-top: 0 !important; | ||||
| } | ||||
|  | ||||
| p.rubric { | ||||
|     margin-top: 30px; | ||||
|     font-weight: bold; | ||||
| } | ||||
|  | ||||
| img.align-left, .figure.align-left, object.align-left { | ||||
|     clear: left; | ||||
|     float: left; | ||||
|     margin-right: 1em; | ||||
| } | ||||
|  | ||||
| img.align-right, .figure.align-right, object.align-right { | ||||
|     clear: right; | ||||
|     float: right; | ||||
|     margin-left: 1em; | ||||
| } | ||||
|  | ||||
| img.align-center, .figure.align-center, object.align-center { | ||||
|   display: block; | ||||
|   margin-left: auto; | ||||
|   margin-right: auto; | ||||
| } | ||||
|  | ||||
| .align-left { | ||||
|     text-align: left; | ||||
| } | ||||
|  | ||||
| .align-center { | ||||
|     clear: both; | ||||
|     text-align: center; | ||||
| } | ||||
|  | ||||
| .align-right { | ||||
|     text-align: right; | ||||
| } | ||||
|  | ||||
| /* -- sidebars -------------------------------------------------------------- */ | ||||
|  | ||||
| div.sidebar { | ||||
|     margin: 0 0 0.5em 1em; | ||||
|     border: 1px solid #ddb; | ||||
|     padding: 7px 7px 0 7px; | ||||
|     background-color: #efefef; | ||||
|     width: 40%; | ||||
|     float: right; | ||||
|     -mox-border-radius: 4px; | ||||
|     -webkit-border-radius: 4px; | ||||
|     border-radius: 4px; | ||||
| } | ||||
|  | ||||
| p.sidebar-title { | ||||
|     font-weight: bold; | ||||
|     text-transform: uppercase; | ||||
| } | ||||
|  | ||||
| /* -- topics ---------------------------------------------------------------- */ | ||||
|  | ||||
| div.topic { | ||||
|     border: 1px solid #ccc; | ||||
|     padding: 7px 7px 0 7px; | ||||
|     margin: 10px 0 10px 0; | ||||
| } | ||||
|  | ||||
| p.topic-title { | ||||
|     font-size: 1.1em; | ||||
|     font-weight: bold; | ||||
|     margin-top: 10px; | ||||
| } | ||||
|  | ||||
| /* -- admonitions ----------------------------------------------------------- */ | ||||
|  | ||||
| div.admonition { | ||||
|     margin-top: 10px; | ||||
|     margin-bottom: 10px; | ||||
|     padding: 7px; | ||||
| } | ||||
|  | ||||
| div.admonition dt { | ||||
|     font-weight: bold; | ||||
| } | ||||
|  | ||||
| div.admonition dl { | ||||
|     margin-bottom: 0; | ||||
| } | ||||
|  | ||||
| p.admonition-title { | ||||
|     margin: 0px 10px 5px 0px; | ||||
|     font-weight: bold; | ||||
| } | ||||
|  | ||||
| div.body p.centered { | ||||
|     text-align: center; | ||||
|     margin-top: 25px; | ||||
| } | ||||
|  | ||||
| /* -- tables ---------------------------------------------------------------- */ | ||||
|  | ||||
| table.docutils { | ||||
|     border: 0; | ||||
|     border-collapse: collapse; | ||||
| } | ||||
|  | ||||
| table.docutils td, table.docutils th { | ||||
|     padding: 1px 8px 1px 5px; | ||||
|     border-top: 0; | ||||
|     border-left: 0; | ||||
|     border-right: 0; | ||||
|     border-bottom: 1px solid #aaa; | ||||
| } | ||||
|  | ||||
| table.field-list td, table.field-list th { | ||||
|     border: 0 !important; | ||||
| } | ||||
|  | ||||
| table.footnote td, table.footnote th { | ||||
|     border: 0 !important; | ||||
| } | ||||
|  | ||||
| th { | ||||
|     text-align: left; | ||||
|     padding-right: 5px; | ||||
| } | ||||
|  | ||||
| table.citation { | ||||
|     border-left: solid 1px gray; | ||||
|     margin-left: 1px; | ||||
| } | ||||
|  | ||||
| table.citation td { | ||||
|     border-bottom: none; | ||||
| } | ||||
|  | ||||
| /* -- other body styles ----------------------------------------------------- */ | ||||
|  | ||||
| ol.arabic { | ||||
|     list-style: decimal; | ||||
| } | ||||
|  | ||||
| ol.loweralpha { | ||||
|     list-style: lower-alpha; | ||||
| } | ||||
|  | ||||
| ol.upperalpha { | ||||
|     list-style: upper-alpha; | ||||
| } | ||||
|  | ||||
| ol.lowerroman { | ||||
|     list-style: lower-roman; | ||||
| } | ||||
|  | ||||
| ol.upperroman { | ||||
|     list-style: upper-roman; | ||||
| } | ||||
|  | ||||
| dl { | ||||
|     margin-bottom: 15px; | ||||
| } | ||||
|  | ||||
| dd p { | ||||
|     margin-top: 0px; | ||||
| } | ||||
|  | ||||
| dd ul, dd table { | ||||
|     margin-bottom: 10px; | ||||
| } | ||||
|  | ||||
| dd { | ||||
|     margin-top: 3px; | ||||
|     margin-bottom: 10px; | ||||
|     margin-left: 30px; | ||||
| } | ||||
|  | ||||
| dt:target, .highlighted { | ||||
| } | ||||
|  | ||||
| dl.glossary dt { | ||||
|     font-weight: bold; | ||||
|     font-size: 1.1em; | ||||
| } | ||||
|  | ||||
| .field-list ul { | ||||
|     margin: 0; | ||||
|     padding-left: 1em; | ||||
| } | ||||
|  | ||||
| .field-list p { | ||||
|     margin: 0; | ||||
| } | ||||
|  | ||||
| .refcount { | ||||
|     color: #060; | ||||
| } | ||||
|  | ||||
| .optional { | ||||
|     font-size: 1.3em; | ||||
| } | ||||
|  | ||||
| .versionmodified { | ||||
|     font-style: italic; | ||||
| } | ||||
|  | ||||
| .system-message { | ||||
|     background-color: #fda; | ||||
|     padding: 5px; | ||||
|     border: 3px solid red; | ||||
| } | ||||
|  | ||||
| .footnote:target  { | ||||
|     background-color: #ffa; | ||||
| } | ||||
|  | ||||
| .line-block { | ||||
|     display: block; | ||||
|     margin-top: 1em; | ||||
|     margin-bottom: 1em; | ||||
| } | ||||
|  | ||||
| .line-block .line-block { | ||||
|     margin-top: 0; | ||||
|     margin-bottom: 0; | ||||
|     margin-left: 1.5em; | ||||
| } | ||||
|  | ||||
| .guilabel, .menuselection { | ||||
|     font-family: sans-serif; | ||||
| } | ||||
|  | ||||
| .accelerator { | ||||
|     text-decoration: underline; | ||||
| } | ||||
|  | ||||
| .classifier { | ||||
|     font-style: oblique; | ||||
| } | ||||
|  | ||||
| /* -- code displays --------------------------------------------------------- */ | ||||
|  | ||||
| pre { | ||||
|     overflow: auto; | ||||
|     overflow-y: hidden;  /* fixes display issues on Chrome browsers */ | ||||
| } | ||||
|  | ||||
| td.linenos pre { | ||||
|     padding: 5px 0px; | ||||
|     border: 0; | ||||
|     background-color: transparent; | ||||
|     color: #aaa; | ||||
| } | ||||
|  | ||||
| table.highlighttable { | ||||
|     margin-left: 0.5em; | ||||
| } | ||||
|  | ||||
| table.highlighttable td { | ||||
|     padding: 0 0.5em 0 0.5em; | ||||
| } | ||||
|  | ||||
| tt.descname { | ||||
|     background-color: transparent; | ||||
|     font-weight: bold; | ||||
|     font-size: 1.2em; | ||||
| } | ||||
|  | ||||
| tt.descclassname { | ||||
|     background-color: transparent; | ||||
| } | ||||
|  | ||||
| tt.xref, a tt { | ||||
|     background-color: transparent; | ||||
|     font-weight: bold; | ||||
| } | ||||
|  | ||||
| h1 tt, h2 tt, h3 tt, h4 tt, h5 tt, h6 tt { | ||||
|     background-color: transparent; | ||||
| } | ||||
|  | ||||
| .viewcode-link { | ||||
|     float: right; | ||||
| } | ||||
|  | ||||
| .viewcode-back { | ||||
|     float: right; | ||||
|     font-family: sans-serif; | ||||
| } | ||||
|  | ||||
| div.viewcode-block:target { | ||||
|     margin: -1px -10px; | ||||
|     padding: 0 10px; | ||||
| } | ||||
|  | ||||
| /* -- math display ---------------------------------------------------------- */ | ||||
|  | ||||
| img.math { | ||||
|     vertical-align: middle; | ||||
| } | ||||
|  | ||||
| div.body div.math p { | ||||
|     text-align: center; | ||||
| } | ||||
|  | ||||
| span.eqno { | ||||
|     float: right; | ||||
| } | ||||
|  | ||||
| /* -- printout stylesheet --------------------------------------------------- */ | ||||
|  | ||||
| @media print { | ||||
|     div.document, | ||||
|     div.documentwrapper, | ||||
|     div.bodywrapper { | ||||
|         margin: 0 !important; | ||||
|         width: 100%; | ||||
|     } | ||||
|  | ||||
|     div.sphinxsidebar, | ||||
|     div.related, | ||||
|     div.footer, | ||||
|     #top-link { | ||||
|         display: none; | ||||
|     } | ||||
| } | ||||
|  | ||||
							
								
								
									
										256
									
								
								docs/_static/default.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										256
									
								
								docs/_static/default.css
									
									
									
									
										vendored
									
									
								
							| @@ -1,256 +0,0 @@ | ||||
| /* | ||||
|  * default.css_t | ||||
|  * ~~~~~~~~~~~~~ | ||||
|  * | ||||
|  * Sphinx stylesheet -- default theme. | ||||
|  * | ||||
|  * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. | ||||
|  * :license: BSD, see LICENSE for details. | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| @import url("basic.css"); | ||||
|  | ||||
| /* -- page layout ----------------------------------------------------------- */ | ||||
|  | ||||
| body { | ||||
|     font-family: sans-serif; | ||||
|     font-size: 100%; | ||||
|     background-color: #11303d; | ||||
|     color: #000; | ||||
|     margin: 0; | ||||
|     padding: 0; | ||||
| } | ||||
|  | ||||
| div.document { | ||||
|     background-color: #1c4e63; | ||||
| } | ||||
|  | ||||
| div.documentwrapper { | ||||
|     float: left; | ||||
|     width: 100%; | ||||
| } | ||||
|  | ||||
| div.bodywrapper { | ||||
|     margin: 0 0 0 230px; | ||||
| } | ||||
|  | ||||
| div.body { | ||||
|     background-color: #ffffff; | ||||
|     color: #000000; | ||||
|     padding: 0 20px 30px 20px; | ||||
| } | ||||
|  | ||||
| div.footer { | ||||
|     color: #ffffff; | ||||
|     width: 100%; | ||||
|     padding: 9px 0 9px 0; | ||||
|     text-align: center; | ||||
|     font-size: 75%; | ||||
| } | ||||
|  | ||||
| div.footer a { | ||||
|     color: #ffffff; | ||||
|     text-decoration: underline; | ||||
| } | ||||
|  | ||||
| div.related { | ||||
|     background-color: #133f52; | ||||
|     line-height: 30px; | ||||
|     color: #ffffff; | ||||
| } | ||||
|  | ||||
| div.related a { | ||||
|     color: #ffffff; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar { | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar h3 { | ||||
|     font-family: 'Trebuchet MS', sans-serif; | ||||
|     color: #ffffff; | ||||
|     font-size: 1.4em; | ||||
|     font-weight: normal; | ||||
|     margin: 0; | ||||
|     padding: 0; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar h3 a { | ||||
|     color: #ffffff; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar h4 { | ||||
|     font-family: 'Trebuchet MS', sans-serif; | ||||
|     color: #ffffff; | ||||
|     font-size: 1.3em; | ||||
|     font-weight: normal; | ||||
|     margin: 5px 0 0 0; | ||||
|     padding: 0; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar p { | ||||
|     color: #ffffff; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar p.topless { | ||||
|     margin: 5px 10px 10px 10px; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar ul { | ||||
|     margin: 10px; | ||||
|     padding: 0; | ||||
|     color: #ffffff; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar a { | ||||
|     color: #98dbcc; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar input { | ||||
|     border: 1px solid #98dbcc; | ||||
|     font-family: sans-serif; | ||||
|     font-size: 1em; | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
| /* -- hyperlink styles ------------------------------------------------------ */ | ||||
|  | ||||
| a { | ||||
|     color: #355f7c; | ||||
|     text-decoration: none; | ||||
| } | ||||
|  | ||||
| a:visited { | ||||
|     color: #355f7c; | ||||
|     text-decoration: none; | ||||
| } | ||||
|  | ||||
| a:hover { | ||||
|     text-decoration: underline; | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
| /* -- body styles ----------------------------------------------------------- */ | ||||
|  | ||||
| div.body h1, | ||||
| div.body h2, | ||||
| div.body h3, | ||||
| div.body h4, | ||||
| div.body h5, | ||||
| div.body h6 { | ||||
|     font-family: 'Trebuchet MS', sans-serif; | ||||
|     background-color: #f2f2f2; | ||||
|     font-weight: normal; | ||||
|     color: #20435c; | ||||
|     border-bottom: 1px solid #ccc; | ||||
|     margin: 20px -20px 10px -20px; | ||||
|     padding: 3px 0 3px 10px; | ||||
| } | ||||
|  | ||||
| div.body h1 { margin-top: 0; font-size: 200%; } | ||||
| div.body h2 { font-size: 160%; } | ||||
| div.body h3 { font-size: 140%; } | ||||
| div.body h4 { font-size: 120%; } | ||||
| div.body h5 { font-size: 110%; } | ||||
| div.body h6 { font-size: 100%; } | ||||
|  | ||||
| a.headerlink { | ||||
|     color: #c60f0f; | ||||
|     font-size: 0.8em; | ||||
|     padding: 0 4px 0 4px; | ||||
|     text-decoration: none; | ||||
| } | ||||
|  | ||||
| a.headerlink:hover { | ||||
|     background-color: #c60f0f; | ||||
|     color: white; | ||||
| } | ||||
|  | ||||
| div.body p, div.body dd, div.body li { | ||||
|     text-align: justify; | ||||
|     line-height: 130%; | ||||
| } | ||||
|  | ||||
| div.admonition p.admonition-title + p { | ||||
|     display: inline; | ||||
| } | ||||
|  | ||||
| div.admonition p { | ||||
|     margin-bottom: 5px; | ||||
| } | ||||
|  | ||||
| div.admonition pre { | ||||
|     margin-bottom: 5px; | ||||
| } | ||||
|  | ||||
| div.admonition ul, div.admonition ol { | ||||
|     margin-bottom: 5px; | ||||
| } | ||||
|  | ||||
| div.note { | ||||
|     background-color: #eee; | ||||
|     border: 1px solid #ccc; | ||||
| } | ||||
|  | ||||
| div.seealso { | ||||
|     background-color: #ffc; | ||||
|     border: 1px solid #ff6; | ||||
| } | ||||
|  | ||||
| div.topic { | ||||
|     background-color: #eee; | ||||
| } | ||||
|  | ||||
| div.warning { | ||||
|     background-color: #ffe4e4; | ||||
|     border: 1px solid #f66; | ||||
| } | ||||
|  | ||||
| p.admonition-title { | ||||
|     display: inline; | ||||
| } | ||||
|  | ||||
| p.admonition-title:after { | ||||
|     content: ":"; | ||||
| } | ||||
|  | ||||
| pre { | ||||
|     padding: 5px; | ||||
|     background-color: #eeffcc; | ||||
|     color: #333333; | ||||
|     line-height: 120%; | ||||
|     border: 1px solid #ac9; | ||||
|     border-left: none; | ||||
|     border-right: none; | ||||
| } | ||||
|  | ||||
| tt { | ||||
|     background-color: #ecf0f3; | ||||
|     padding: 0 1px 0 1px; | ||||
|     font-size: 0.95em; | ||||
| } | ||||
|  | ||||
| th { | ||||
|     background-color: #ede; | ||||
| } | ||||
|  | ||||
| .warning tt { | ||||
|     background: #efc2c2; | ||||
| } | ||||
|  | ||||
| .note tt { | ||||
|     background: #d6d6d6; | ||||
| } | ||||
|  | ||||
| .viewcode-back { | ||||
|     font-family: sans-serif; | ||||
| } | ||||
|  | ||||
| div.viewcode-block:target { | ||||
|     background-color: #f4debf; | ||||
|     border-top: 1px solid #ac9; | ||||
|     border-bottom: 1px solid #ac9; | ||||
| } | ||||
							
								
								
									
										
											BIN
										
									
								
								docs/_static/fonts/Museo_Slab_500.otf
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/fonts/Museo_Slab_500.otf
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								docs/_static/fonts/Museo_Slab_500italic.otf
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/fonts/Museo_Slab_500italic.otf
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								docs/_static/fonts/OFLGoudyStMTT-Italic.ttf
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/fonts/OFLGoudyStMTT-Italic.ttf
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								docs/_static/fonts/OFLGoudyStMTT.ttf
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/fonts/OFLGoudyStMTT.ttf
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								docs/_static/fonts/YanoneKaffeesatz-Bold.ttf
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/fonts/YanoneKaffeesatz-Bold.ttf
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								docs/_static/fonts/YanoneKaffeesatz-Light.ttf
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/fonts/YanoneKaffeesatz-Light.ttf
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								docs/_static/fonts/YanoneKaffeesatz-Regular.ttf
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/fonts/YanoneKaffeesatz-Regular.ttf
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								docs/_static/fonts/YanoneKaffeesatz-Thin.ttf
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/fonts/YanoneKaffeesatz-Thin.ttf
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										410
									
								
								docs/_static/haiku.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										410
									
								
								docs/_static/haiku.css
									
									
									
									
										vendored
									
									
								
							| @@ -1,410 +0,0 @@ | ||||
| /* | ||||
|  * haiku.css_t | ||||
|  * ~~~~~~~~~~~ | ||||
|  * | ||||
|  * Sphinx stylesheet -- haiku theme. | ||||
|  * | ||||
|  * Adapted from http://haiku-os.org/docs/Haiku-doc.css. | ||||
|  * Original copyright message: | ||||
|  * | ||||
|  *     Copyright 2008-2009, Haiku. All rights reserved. | ||||
|  *     Distributed under the terms of the MIT License. | ||||
|  * | ||||
|  *     Authors: | ||||
|  *              Francois Revol <revol@free.fr> | ||||
|  *              Stephan Assmus <superstippi@gmx.de> | ||||
|  *              Braden Ewing <brewin@gmail.com> | ||||
|  *              Humdinger <humdingerb@gmail.com> | ||||
|  * | ||||
|  * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. | ||||
|  * :license: BSD, see LICENSE for details. | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| @import url("basic.css"); | ||||
|  | ||||
|  | ||||
| @font-face { | ||||
|     font-family: "Museo Slab"; | ||||
|     font-weight: normal; | ||||
|     font-style: normal; | ||||
|     src: local("Museo Slab"), | ||||
|          url("fonts/Museo_Slab_500.otf") format("opentype"); | ||||
| } | ||||
|  | ||||
| @font-face { | ||||
|     font-family: "Yanone Kaffeesatz"; | ||||
|     font-weight: bold; | ||||
|     font-style: normal; | ||||
|     src: local("Yanone Kaffeesatz"), | ||||
|          url("fonts/YanoneKaffeesatz-Bold.ttf") format("truetype"); | ||||
| } | ||||
|  | ||||
| @font-face { | ||||
|     font-family: "Yanone Kaffeesatz"; | ||||
|     font-weight: lighter; | ||||
|     font-style: normal; | ||||
|     src: local("Yanone Kaffeesatz"), | ||||
|          url("fonts/YanoneKaffeesatz-Regular.ttf") format("truetype"); | ||||
| } | ||||
|  | ||||
| html { | ||||
|     margin: 0px; | ||||
|     padding: 0px; | ||||
|     background: #FFF url(header.png) top left repeat-x; | ||||
| } | ||||
|  | ||||
| body { | ||||
|     line-height: 1.5; | ||||
|     margin: auto; | ||||
|     padding: 0px; | ||||
|     font-family: "Helvetica Neueu", Helvetica, sans-serif; | ||||
|     min-width: 30em; | ||||
|     max-width: 70em; | ||||
|     color: #444; | ||||
|     text-align: center; | ||||
| } | ||||
|  | ||||
| div.footer { | ||||
|     padding: 8px; | ||||
|     font-size: 11px; | ||||
|     text-align: center; | ||||
|     letter-spacing: 0.5px; | ||||
| } | ||||
|  | ||||
| /* link colors and text decoration */ | ||||
|  | ||||
| a:link { | ||||
|     font-weight: bold; | ||||
|     text-decoration: none; | ||||
|     color: #00ADEE; | ||||
| } | ||||
|  | ||||
| a:visited { | ||||
|     font-weight: bold; | ||||
|     text-decoration: none; | ||||
|     color: #00ADEE; | ||||
| } | ||||
|  | ||||
| a:hover, a:active { | ||||
|     text-decoration: underline; | ||||
|     color: #F46DBA; | ||||
| } | ||||
|  | ||||
| /* Some headers act as anchors, don't give them a hover effect */ | ||||
|  | ||||
| h1 a:hover, a:active { | ||||
|     text-decoration: none; | ||||
|     color: #CFCFCF; | ||||
| } | ||||
|  | ||||
| h2 a:hover, a:active { | ||||
|     text-decoration: none; | ||||
|     color: #CFCFCF; | ||||
| } | ||||
|  | ||||
| h3 a:hover, a:active { | ||||
|     text-decoration: none; | ||||
|     color: #CFCFCF; | ||||
| } | ||||
|  | ||||
| h4 a:hover, a:active { | ||||
|     text-decoration: none; | ||||
|     color: #CFCFCF; | ||||
| } | ||||
|  | ||||
| a.headerlink { | ||||
|     color: #a7ce38; | ||||
|     padding-left: 5px; | ||||
| } | ||||
|  | ||||
| a.headerlink:hover { | ||||
|     color: #a7ce38; | ||||
| } | ||||
|  | ||||
| /* basic text elements */ | ||||
|  | ||||
| div.content { | ||||
|     margin: auto; | ||||
|     margin-top: 20px; | ||||
|     margin-bottom: 50px; | ||||
|     font-size: 0.9em; | ||||
|     width: 700px; | ||||
|     text-align: left; | ||||
| } | ||||
|  | ||||
| /* heading and navigation */ | ||||
|  | ||||
| div.header { | ||||
|     position: relative; | ||||
|     margin: auto; | ||||
|     margin-top: 125px; | ||||
|     height: 85px; | ||||
|     padding: 0 40px; | ||||
|     font-family: "Yanone Kaffeesatz"; | ||||
|     text-align: left; | ||||
|     width: 750px; | ||||
| } | ||||
| div.header h1 { | ||||
|     font-size: 2.6em; | ||||
|     font-weight: normal; | ||||
|     letter-spacing: 1px; | ||||
|     color: #CFCFCF; | ||||
|     border: 0; | ||||
|     margin: 0; | ||||
|     padding-top: 15px; | ||||
|     font-family: "Yanone Kaffeesatz"; | ||||
|     text-shadow: 1px 1px 1px rgba(175, 175, 175, .8); | ||||
|     font-variant: small-caps; | ||||
| } | ||||
| div.header h1 a { | ||||
|     font-weight: normal; | ||||
|     color: #00ADEE; | ||||
| } | ||||
| div.header h2 { | ||||
|     font-size: 1.3em; | ||||
|     font-weight: normal; | ||||
|     letter-spacing: 1px; | ||||
|     text-transform: uppercase; | ||||
|     color: #aaa; | ||||
|     border: 0; | ||||
|     margin-top: -3px; | ||||
|     padding: 0; | ||||
|     font-family: "Yanone Kaffeesatz"; | ||||
| } | ||||
|  | ||||
| div.header img.rightlogo { | ||||
|     float: right; | ||||
| } | ||||
|  | ||||
|  | ||||
| div.title { | ||||
|     font-size: 1.3em; | ||||
|     font-weight: bold; | ||||
|     color: #CFCFCF; | ||||
|     border-bottom: dotted thin #e0e0e0; | ||||
|     margin-bottom: 25px; | ||||
| } | ||||
| div.topnav { | ||||
|     position: relative; | ||||
|     z-index: 0; | ||||
| } | ||||
| div.topnav p { | ||||
|     margin: auto; | ||||
|     margin-top: 0; | ||||
|     margin-bottom: 0px; | ||||
|     text-align: right; | ||||
|     font-size: 0.8em; | ||||
|     width: 750px; | ||||
| } | ||||
| div.bottomnav { | ||||
|     background: #eeeeee; | ||||
| } | ||||
| div.bottomnav p { | ||||
|     margin-right: 40px; | ||||
|     text-align: right; | ||||
|     font-size: 0.8em; | ||||
| } | ||||
|  | ||||
| a.uplink { | ||||
|     font-weight: normal; | ||||
| } | ||||
|  | ||||
|  | ||||
| /* contents box */ | ||||
|  | ||||
| table.index { | ||||
|     margin: 0px 0px 30px 30px; | ||||
|     padding: 1px; | ||||
|     border-width: 1px; | ||||
|     border-style: dotted; | ||||
|     border-color: #e0e0e0; | ||||
| } | ||||
| table.index tr.heading { | ||||
|     background-color: #e0e0e0; | ||||
|     text-align: center; | ||||
|     font-weight: bold; | ||||
|     font-size: 1.1em; | ||||
| } | ||||
| table.index tr.index { | ||||
|     background-color: #eeeeee; | ||||
| } | ||||
| table.index td { | ||||
|     padding: 5px 20px; | ||||
| } | ||||
|  | ||||
| table.index a:link, table.index a:visited { | ||||
|     font-weight: normal; | ||||
|     text-decoration: none; | ||||
|     color: #4A7389; | ||||
| } | ||||
| table.index a:hover, table.index a:active { | ||||
|     text-decoration: underline; | ||||
|     color: #ff4500; | ||||
| } | ||||
|  | ||||
|  | ||||
| /* Haiku User Guide styles and layout */ | ||||
|  | ||||
| /* Rounded corner boxes */ | ||||
| /* Common declarations */ | ||||
| div.admonition { | ||||
|     -webkit-border-radius: 10px; | ||||
|     -khtml-border-radius: 10px; | ||||
|     -moz-border-radius: 10px; | ||||
|     border-radius: 10px; | ||||
|     border-style: dotted; | ||||
|     border-width: thin; | ||||
|     border-color: #dcdcdc; | ||||
|     padding: 10px 15px 10px 15px; | ||||
|     margin-bottom: 15px; | ||||
|     margin-top: 15px; | ||||
| } | ||||
| div.note { | ||||
|     padding: 10px 15px 10px 15px; | ||||
|     background-color: #e4ffde; | ||||
|     /*background: #e4ffde url(alert_info_32.png) 15px 15px no-repeat;*/ | ||||
|     min-height: 42px; | ||||
| } | ||||
| div.warning { | ||||
|     padding: 10px 15px 10px 15px; | ||||
|     background-color: #fffbc6; | ||||
|     /*background: #fffbc6 url(alert_warning_32.png) 15px 15px no-repeat;*/ | ||||
|     min-height: 42px; | ||||
| } | ||||
| div.seealso { | ||||
|     background: #e4ffde; | ||||
| } | ||||
|  | ||||
| /* More layout and styles */ | ||||
| h1 { | ||||
|     font-size: 1.6em; | ||||
|     color: #aaa; | ||||
|     border-bottom: dotted thin #e0e0e0; | ||||
|     margin-top: 30px; | ||||
|     font-family: "Museo Slab"; | ||||
|     text-shadow: 1px 1px 1px rgba(175, 175, 175, .25); | ||||
| } | ||||
|  | ||||
| h2 { | ||||
|     font-size: 1.5em; | ||||
|     font-weight: normal; | ||||
|     color: #aaa; | ||||
|     border-bottom: dotted thin #e0e0e0; | ||||
|     margin-top: 30px; | ||||
|     font-family: "Museo Slab"; | ||||
|     text-shadow: 1px 1px 1px rgba(175, 175, 175, .25); | ||||
| } | ||||
|  | ||||
| h3 { | ||||
|     font-size: 1.4em; | ||||
|     font-weight: normal; | ||||
|     color: #aaa; | ||||
|     margin-top: 30px; | ||||
|     font-family: "Museo Slab"; | ||||
|     text-shadow: 1px 1px 1px rgba(175, 175, 175, .25); | ||||
| } | ||||
|  | ||||
| h4 { | ||||
|     font-size: 1.3em; | ||||
|     font-weight: normal; | ||||
|     color: #CFCFCF; | ||||
|     margin-top: 30px; | ||||
| } | ||||
|  | ||||
| p { | ||||
|     text-align: justify; | ||||
| } | ||||
|  | ||||
| p.last { | ||||
|     margin-bottom: 0; | ||||
| } | ||||
|  | ||||
| ol { | ||||
|     padding-left: 20px; | ||||
| } | ||||
|  | ||||
| ul { | ||||
|     padding-left: 5px; | ||||
|     margin-top: 3px; | ||||
| } | ||||
|  | ||||
| li { | ||||
|     line-height: 1.3; | ||||
| } | ||||
|  | ||||
| div.content ul > li { | ||||
|     -moz-background-clip:border; | ||||
|     -moz-background-inline-policy:continuous; | ||||
|     -moz-background-origin:padding; | ||||
|     background: transparent url(bullet_orange.png) no-repeat scroll left 0.45em; | ||||
|     list-style-image: none; | ||||
|     list-style-type: none; | ||||
|     padding: 0 0 0 1.666em; | ||||
|     margin-bottom: 3px; | ||||
| } | ||||
|  | ||||
| td { | ||||
|     vertical-align: top; | ||||
| } | ||||
|  | ||||
| tt { | ||||
|     background-color: #e2e2e2; | ||||
|     font-size: 1.0em; | ||||
|     font-family: monospace; | ||||
| } | ||||
|  | ||||
| pre { | ||||
|     font-size: 1.1em; | ||||
|     margin: 0 0 12px 0; | ||||
|     padding: 0.8em; | ||||
|     background-image: url(noise_dk.png); | ||||
|     background-color: #222; | ||||
| } | ||||
|  | ||||
| hr { | ||||
|     border-top: 1px solid #ccc; | ||||
|     border-bottom: 0; | ||||
|     border-right: 0; | ||||
|     border-left: 0; | ||||
|     margin-bottom: 10px; | ||||
|     margin-top: 20px; | ||||
| } | ||||
|  | ||||
| /* printer only pretty stuff */ | ||||
| @media print { | ||||
|     .noprint { | ||||
|         display: none; | ||||
|     } | ||||
|     /* for acronyms we want their definitions inlined at print time */ | ||||
|     acronym[title]:after { | ||||
|         font-size: small; | ||||
|         content: " (" attr(title) ")"; | ||||
|         font-style: italic; | ||||
|     } | ||||
|     /* and not have mozilla dotted underline */ | ||||
|     acronym { | ||||
|         border: none; | ||||
|     } | ||||
|     div.topnav, div.bottomnav, div.header, table.index { | ||||
|         display: none; | ||||
|     } | ||||
|     div.content { | ||||
|         margin: 0px; | ||||
|         padding: 0px; | ||||
|     } | ||||
|     html { | ||||
|         background: #FFF; | ||||
|     } | ||||
| } | ||||
|  | ||||
| .viewcode-back { | ||||
|     font-family: "DejaVu Sans", Arial, Helvetica, sans-serif; | ||||
| } | ||||
|  | ||||
| div.viewcode-block:target { | ||||
|     border-top: 1px solid #ac9; | ||||
|     border-bottom: 1px solid #ac9; | ||||
|     margin: -1px -12px; | ||||
|     padding: 0 12px; | ||||
| } | ||||
							
								
								
									
										
											BIN
										
									
								
								docs/_static/header.png
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/header.png
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 16 KiB | 
							
								
								
									
										
											BIN
										
									
								
								docs/_static/images/arch_layers.png
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/images/arch_layers.png
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 27 KiB | 
							
								
								
									
										
											BIN
										
									
								
								docs/_static/images/from_&yet.png
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/images/from_&yet.png
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 2.7 KiB | 
							
								
								
									
										70
									
								
								docs/_static/ir_black.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										70
									
								
								docs/_static/ir_black.css
									
									
									
									
										vendored
									
									
								
							| @@ -1,70 +0,0 @@ | ||||
| .highlight .hll { background-color: #ffffcc } | ||||
| .highlight  { background: #000000; color: #f6f3e8; } | ||||
| .highlight .c { color: #7C7C7C; } /* Comment */ | ||||
| .highlight .err { color: #f6f3e8; } /* Error */ | ||||
| .highlight .g { color: #f6f3e8; } /* Generic */ | ||||
| .highlight .k { color: #00ADEE; } /* Keyword */ | ||||
| .highlight .l { color: #f6f3e8; } /* Literal */ | ||||
| .highlight .n { color: #f6f3e8; } /* Name */ | ||||
| .highlight .o { color: #f6f3e8; } /* Operator */ | ||||
| .highlight .x { color: #f6f3e8; } /* Other */ | ||||
| .highlight .p { color: #f6f3e8; } /* Punctuation */ | ||||
| .highlight .cm { color: #7C7C7C; } /* Comment.Multiline */ | ||||
| .highlight .cp { color: #96CBFE; } /* Comment.Preproc */ | ||||
| .highlight .c1 { color: #7C7C7C; } /* Comment.Single */ | ||||
| .highlight .cs { color: #7C7C7C; } /* Comment.Special */ | ||||
| .highlight .gd { color: #f6f3e8; } /* Generic.Deleted */ | ||||
| .highlight .ge { color: #f6f3e8; } /* Generic.Emph */ | ||||
| .highlight .gr { color: #ffffff; background-color: #ff0000 } /* Generic.Error */ | ||||
| .highlight .gh { color: #f6f3e8; font-weight: bold; } /* Generic.Heading */ | ||||
| .highlight .gi { color: #f6f3e8; } /* Generic.Inserted */ | ||||
| .highlight .go { color: #070707; } /* Generic.Output */ | ||||
| .highlight .gp { color: #f6f3e8; } /* Generic.Prompt */ | ||||
| .highlight .gs { color: #f6f3e8; } /* Generic.Strong */ | ||||
| .highlight .gu { color: #f6f3e8; font-weight: bold; } /* Generic.Subheading */ | ||||
| .highlight .gt { color: #ffffff; font-weight: bold; background-color: #FF6C60 } /* Generic.Traceback */ | ||||
| .highlight .kc { color: #6699CC; } /* Keyword.Constant */ | ||||
| .highlight .kd { color: #6699CC; } /* Keyword.Declaration */ | ||||
| .highlight .kn { color: #6699CC; } /* Keyword.Namespace */ | ||||
| .highlight .kp { color: #6699CC; } /* Keyword.Pseudo */ | ||||
| .highlight .kr { color: #6699CC; } /* Keyword.Reserved */ | ||||
| .highlight .kt { color: #FFFFB6; } /* Keyword.Type */ | ||||
| .highlight .ld { color: #f6f3e8; } /* Literal.Date */ | ||||
| .highlight .m { color: #FF73FD; } /* Literal.Number */ | ||||
| .highlight .s { color: #F46DBA;/*#A8FF60;*/ } /* Literal.String */ | ||||
| .highlight .na { color: #f6f3e8; } /* Name.Attribute */ | ||||
| .highlight .nb { color: #f6f3e8; } /* Name.Builtin */ | ||||
| .highlight .nc { color: #f6f3e8; } /* Name.Class */ | ||||
| .highlight .no { color: #99CC99; } /* Name.Constant */ | ||||
| .highlight .nd { color: #f6f3e8; } /* Name.Decorator */ | ||||
| .highlight .ni { color: #E18964; } /* Name.Entity */ | ||||
| .highlight .ne { color: #f6f3e8; } /* Name.Exception */ | ||||
| .highlight .nf { color: #F64DBA; } /* Name.Function */ | ||||
| .highlight .nl { color: #f6f3e8; } /* Name.Label */ | ||||
| .highlight .nn { color: #f6f3e8; } /* Name.Namespace */ | ||||
| .highlight .nx { color: #f6f3e8; } /* Name.Other */ | ||||
| .highlight .py { color: #f6f3e8; } /* Name.Property */ | ||||
| .highlight .nt { color: #00ADEE; } /* Name.Tag */ | ||||
| .highlight .nv { color: #C6C5FE; } /* Name.Variable */ | ||||
| .highlight .ow { color: #ffffff; } /* Operator.Word */ | ||||
| .highlight .w { color: #f6f3e8; } /* Text.Whitespace */ | ||||
| .highlight .mf { color: #FF73FD; } /* Literal.Number.Float */ | ||||
| .highlight .mh { color: #FF73FD; } /* Literal.Number.Hex */ | ||||
| .highlight .mi { color: #FF73FD; } /* Literal.Number.Integer */ | ||||
| .highlight .mo { color: #FF73FD; } /* Literal.Number.Oct */ | ||||
| .highlight .sb { color: #A8FF60; } /* Literal.String.Backtick */ | ||||
| .highlight .sc { color: #A8FF60; } /* Literal.String.Char */ | ||||
| .highlight .sd { color: #A8FF60; } /* Literal.String.Doc */ | ||||
| .highlight .s2 { color: #A8FF60; } /* Literal.String.Double */ | ||||
| .highlight .se { color: #A8FF60; } /* Literal.String.Escape */ | ||||
| .highlight .sh { color: #A8FF60; } /* Literal.String.Heredoc */ | ||||
| .highlight .si { color: #A8FF60; } /* Literal.String.Interpol */ | ||||
| .highlight .sx { color: #A8FF60; } /* Literal.String.Other */ | ||||
| .highlight .sr { color: #A8FF60; } /* Literal.String.Regex */ | ||||
| .highlight .s1 { color: #A8FF60; } /* Literal.String.Single */ | ||||
| .highlight .ss { color: #A8FF60; } /* Literal.String.Symbol */ | ||||
| .highlight .bp { color: #f6f3e8; } /* Name.Builtin.Pseudo */ | ||||
| .highlight .vc { color: #C6C5FE; } /* Name.Variable.Class */ | ||||
| .highlight .vg { color: #C6C5FE; } /* Name.Variable.Global */ | ||||
| .highlight .vi { color: #C6C5FE; } /* Name.Variable.Instance */ | ||||
| .highlight .il { color: #FF73FD; } /* Literal.Number.Integer.Long */ | ||||
							
								
								
									
										245
									
								
								docs/_static/nature.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										245
									
								
								docs/_static/nature.css
									
									
									
									
										vendored
									
									
								
							| @@ -1,245 +0,0 @@ | ||||
| /* | ||||
|  * nature.css_t | ||||
|  * ~~~~~~~~~~~~ | ||||
|  * | ||||
|  * Sphinx stylesheet -- nature theme. | ||||
|  * | ||||
|  * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. | ||||
|  * :license: BSD, see LICENSE for details. | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| @import url("basic.css"); | ||||
|  | ||||
| /* -- page layout ----------------------------------------------------------- */ | ||||
|  | ||||
| body { | ||||
|     font-family: Arial, sans-serif; | ||||
|     font-size: 100%; | ||||
|     background-color: #111; | ||||
|     color: #555; | ||||
|     margin: 0; | ||||
|     padding: 0; | ||||
| } | ||||
|  | ||||
| div.documentwrapper { | ||||
|     float: left; | ||||
|     width: 100%; | ||||
| } | ||||
|  | ||||
| div.bodywrapper { | ||||
|     margin: 0 0 0 230px; | ||||
| } | ||||
|  | ||||
| hr { | ||||
|     border: 1px solid #B1B4B6; | ||||
| } | ||||
|  | ||||
| div.document { | ||||
|     background-color: #eee; | ||||
| } | ||||
|  | ||||
| div.body { | ||||
|     background-color: #ffffff; | ||||
|     color: #3E4349; | ||||
|     padding: 0 30px 30px 30px; | ||||
|     font-size: 0.9em; | ||||
| } | ||||
|  | ||||
| div.footer { | ||||
|     color: #555; | ||||
|     width: 100%; | ||||
|     padding: 13px 0; | ||||
|     text-align: center; | ||||
|     font-size: 75%; | ||||
| } | ||||
|  | ||||
| div.footer a { | ||||
|     color: #444; | ||||
|     text-decoration: underline; | ||||
| } | ||||
|  | ||||
| div.related { | ||||
|     background-color: #6BA81E; | ||||
|     line-height: 32px; | ||||
|     color: #fff; | ||||
|     text-shadow: 0px 1px 0 #444; | ||||
|     font-size: 0.9em; | ||||
| } | ||||
|  | ||||
| div.related a { | ||||
|     color: #E2F3CC; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar { | ||||
|     font-size: 0.75em; | ||||
|     line-height: 1.5em; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebarwrapper{ | ||||
|     padding: 20px 0; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar h3, | ||||
| div.sphinxsidebar h4 { | ||||
|     font-family: Arial, sans-serif; | ||||
|     color: #222; | ||||
|     font-size: 1.2em; | ||||
|     font-weight: normal; | ||||
|     margin: 0; | ||||
|     padding: 5px 10px; | ||||
|     background-color: #ddd; | ||||
|     text-shadow: 1px 1px 0 white | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar h4{ | ||||
|     font-size: 1.1em; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar h3 a { | ||||
|     color: #444; | ||||
| } | ||||
|  | ||||
|  | ||||
| div.sphinxsidebar p { | ||||
|     color: #888; | ||||
|     padding: 5px 20px; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar p.topless { | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar ul { | ||||
|     margin: 10px 20px; | ||||
|     padding: 0; | ||||
|     color: #000; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar a { | ||||
|     color: #444; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar input { | ||||
|     border: 1px solid #ccc; | ||||
|     font-family: sans-serif; | ||||
|     font-size: 1em; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar input[type=text]{ | ||||
|     margin-left: 20px; | ||||
| } | ||||
|  | ||||
| /* -- body styles ----------------------------------------------------------- */ | ||||
|  | ||||
| a { | ||||
|     color: #005B81; | ||||
|     text-decoration: none; | ||||
| } | ||||
|  | ||||
| a:hover { | ||||
|     color: #E32E00; | ||||
|     text-decoration: underline; | ||||
| } | ||||
|  | ||||
| div.body h1, | ||||
| div.body h2, | ||||
| div.body h3, | ||||
| div.body h4, | ||||
| div.body h5, | ||||
| div.body h6 { | ||||
|     font-family: Arial, sans-serif; | ||||
|     background-color: #BED4EB; | ||||
|     font-weight: normal; | ||||
|     color: #212224; | ||||
|     margin: 30px 0px 10px 0px; | ||||
|     padding: 5px 0 5px 10px; | ||||
|     text-shadow: 0px 1px 0 white | ||||
| } | ||||
|  | ||||
| div.body h1 { border-top: 20px solid white; margin-top: 0; font-size: 200%; } | ||||
| div.body h2 { font-size: 150%; background-color: #C8D5E3; } | ||||
| div.body h3 { font-size: 120%; background-color: #D8DEE3; } | ||||
| div.body h4 { font-size: 110%; background-color: #D8DEE3; } | ||||
| div.body h5 { font-size: 100%; background-color: #D8DEE3; } | ||||
| div.body h6 { font-size: 100%; background-color: #D8DEE3; } | ||||
|  | ||||
| a.headerlink { | ||||
|     color: #c60f0f; | ||||
|     font-size: 0.8em; | ||||
|     padding: 0 4px 0 4px; | ||||
|     text-decoration: none; | ||||
| } | ||||
|  | ||||
| a.headerlink:hover { | ||||
|     background-color: #c60f0f; | ||||
|     color: white; | ||||
| } | ||||
|  | ||||
| div.body p, div.body dd, div.body li { | ||||
|     line-height: 1.5em; | ||||
| } | ||||
|  | ||||
| div.admonition p.admonition-title + p { | ||||
|     display: inline; | ||||
| } | ||||
|  | ||||
| div.highlight{ | ||||
|     background-color: white; | ||||
| } | ||||
|  | ||||
| div.note { | ||||
|     background-color: #eee; | ||||
|     border: 1px solid #ccc; | ||||
| } | ||||
|  | ||||
| div.seealso { | ||||
|     background-color: #ffc; | ||||
|     border: 1px solid #ff6; | ||||
| } | ||||
|  | ||||
| div.topic { | ||||
|     background-color: #eee; | ||||
| } | ||||
|  | ||||
| div.warning { | ||||
|     background-color: #ffe4e4; | ||||
|     border: 1px solid #f66; | ||||
| } | ||||
|  | ||||
| p.admonition-title { | ||||
|     display: inline; | ||||
| } | ||||
|  | ||||
| p.admonition-title:after { | ||||
|     content: ":"; | ||||
| } | ||||
|  | ||||
| pre { | ||||
|     padding: 10px; | ||||
|     background-color: White; | ||||
|     color: #222; | ||||
|     line-height: 1.2em; | ||||
|     border: 1px solid #C6C9CB; | ||||
|     font-size: 1.1em; | ||||
|     margin: 1.5em 0 1.5em 0; | ||||
|     -webkit-box-shadow: 1px 1px 1px #d8d8d8; | ||||
|     -moz-box-shadow: 1px 1px 1px #d8d8d8; | ||||
| } | ||||
|  | ||||
| tt { | ||||
|     background-color: #ecf0f3; | ||||
|     color: #222; | ||||
|     /* padding: 1px 2px; */ | ||||
|     font-size: 1.1em; | ||||
|     font-family: monospace; | ||||
| } | ||||
|  | ||||
| .viewcode-back { | ||||
|     font-family: Arial, sans-serif; | ||||
| } | ||||
|  | ||||
| div.viewcode-block:target { | ||||
|     background-color: #f4debf; | ||||
|     border-top: 1px solid #ac9; | ||||
|     border-bottom: 1px solid #ac9; | ||||
| } | ||||
							
								
								
									
										
											BIN
										
									
								
								docs/_static/noise_dk.png
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								docs/_static/noise_dk.png
									
									
									
									
										vendored
									
									
								
							
										
											Binary file not shown.
										
									
								
							| Before Width: | Height: | Size: 22 KiB | 
							
								
								
									
										70
									
								
								docs/_static/pygments.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										70
									
								
								docs/_static/pygments.css
									
									
									
									
										vendored
									
									
								
							| @@ -1,70 +0,0 @@ | ||||
| .highlight .hll { background-color: #ffffcc } | ||||
| .highlight  { background: #000000; color: #f6f3e8; } | ||||
| .highlight .c { color: #7C7C7C; } /* Comment */ | ||||
| .highlight .err { color: #f6f3e8; } /* Error */ | ||||
| .highlight .g { color: #f6f3e8; } /* Generic */ | ||||
| .highlight .k { color: #00ADEE; } /* Keyword */ | ||||
| .highlight .l { color: #f6f3e8; } /* Literal */ | ||||
| .highlight .n { color: #f6f3e8; } /* Name */ | ||||
| .highlight .o { color: #f6f3e8; } /* Operator */ | ||||
| .highlight .x { color: #f6f3e8; } /* Other */ | ||||
| .highlight .p { color: #f6f3e8; } /* Punctuation */ | ||||
| .highlight .cm { color: #7C7C7C; } /* Comment.Multiline */ | ||||
| .highlight .cp { color: #96CBFE; } /* Comment.Preproc */ | ||||
| .highlight .c1 { color: #7C7C7C; } /* Comment.Single */ | ||||
| .highlight .cs { color: #7C7C7C; } /* Comment.Special */ | ||||
| .highlight .gd { color: #f6f3e8; } /* Generic.Deleted */ | ||||
| .highlight .ge { color: #f6f3e8; } /* Generic.Emph */ | ||||
| .highlight .gr { color: #ffffff; background-color: #ff0000 } /* Generic.Error */ | ||||
| .highlight .gh { color: #f6f3e8; font-weight: bold; } /* Generic.Heading */ | ||||
| .highlight .gi { color: #f6f3e8; } /* Generic.Inserted */ | ||||
| .highlight .go { color: #070707; } /* Generic.Output */ | ||||
| .highlight .gp { color: #f6f3e8; } /* Generic.Prompt */ | ||||
| .highlight .gs { color: #f6f3e8; } /* Generic.Strong */ | ||||
| .highlight .gu { color: #f6f3e8; font-weight: bold; } /* Generic.Subheading */ | ||||
| .highlight .gt { color: #ffffff; font-weight: bold; background-color: #FF6C60 } /* Generic.Traceback */ | ||||
| .highlight .kc { color: #6699CC; } /* Keyword.Constant */ | ||||
| .highlight .kd { color: #6699CC; } /* Keyword.Declaration */ | ||||
| .highlight .kn { color: #6699CC; } /* Keyword.Namespace */ | ||||
| .highlight .kp { color: #6699CC; } /* Keyword.Pseudo */ | ||||
| .highlight .kr { color: #6699CC; } /* Keyword.Reserved */ | ||||
| .highlight .kt { color: #FFFFB6; } /* Keyword.Type */ | ||||
| .highlight .ld { color: #f6f3e8; } /* Literal.Date */ | ||||
| .highlight .m { color: #FF73FD; } /* Literal.Number */ | ||||
| .highlight .s { color: #F46DBA;/*#A8FF60;*/ } /* Literal.String */ | ||||
| .highlight .na { color: #f6f3e8; } /* Name.Attribute */ | ||||
| .highlight .nb { color: #f6f3e8; } /* Name.Builtin */ | ||||
| .highlight .nc { color: #f6f3e8; } /* Name.Class */ | ||||
| .highlight .no { color: #99CC99; } /* Name.Constant */ | ||||
| .highlight .nd { color: #f6f3e8; } /* Name.Decorator */ | ||||
| .highlight .ni { color: #E18964; } /* Name.Entity */ | ||||
| .highlight .ne { color: #f6f3e8; } /* Name.Exception */ | ||||
| .highlight .nf { color: #F64DBA; } /* Name.Function */ | ||||
| .highlight .nl { color: #f6f3e8; } /* Name.Label */ | ||||
| .highlight .nn { color: #f6f3e8; } /* Name.Namespace */ | ||||
| .highlight .nx { color: #f6f3e8; } /* Name.Other */ | ||||
| .highlight .py { color: #f6f3e8; } /* Name.Property */ | ||||
| .highlight .nt { color: #00ADEE; } /* Name.Tag */ | ||||
| .highlight .nv { color: #C6C5FE; } /* Name.Variable */ | ||||
| .highlight .ow { color: #ffffff; } /* Operator.Word */ | ||||
| .highlight .w { color: #f6f3e8; } /* Text.Whitespace */ | ||||
| .highlight .mf { color: #FF73FD; } /* Literal.Number.Float */ | ||||
| .highlight .mh { color: #FF73FD; } /* Literal.Number.Hex */ | ||||
| .highlight .mi { color: #FF73FD; } /* Literal.Number.Integer */ | ||||
| .highlight .mo { color: #FF73FD; } /* Literal.Number.Oct */ | ||||
| .highlight .sb { color: #A8FF60; } /* Literal.String.Backtick */ | ||||
| .highlight .sc { color: #A8FF60; } /* Literal.String.Char */ | ||||
| .highlight .sd { color: #A8FF60; } /* Literal.String.Doc */ | ||||
| .highlight .s2 { color: #A8FF60; } /* Literal.String.Double */ | ||||
| .highlight .se { color: #A8FF60; } /* Literal.String.Escape */ | ||||
| .highlight .sh { color: #A8FF60; } /* Literal.String.Heredoc */ | ||||
| .highlight .si { color: #A8FF60; } /* Literal.String.Interpol */ | ||||
| .highlight .sx { color: #A8FF60; } /* Literal.String.Other */ | ||||
| .highlight .sr { color: #A8FF60; } /* Literal.String.Regex */ | ||||
| .highlight .s1 { color: #A8FF60; } /* Literal.String.Single */ | ||||
| .highlight .ss { color: #A8FF60; } /* Literal.String.Symbol */ | ||||
| .highlight .bp { color: #f6f3e8; } /* Name.Builtin.Pseudo */ | ||||
| .highlight .vc { color: #C6C5FE; } /* Name.Variable.Class */ | ||||
| .highlight .vg { color: #C6C5FE; } /* Name.Variable.Global */ | ||||
| .highlight .vi { color: #C6C5FE; } /* Name.Variable.Instance */ | ||||
| .highlight .il { color: #FF73FD; } /* Literal.Number.Integer.Long */ | ||||
							
								
								
									
										339
									
								
								docs/_static/sphinxdoc.css
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										339
									
								
								docs/_static/sphinxdoc.css
									
									
									
									
										vendored
									
									
								
							| @@ -1,339 +0,0 @@ | ||||
| /* | ||||
|  * sphinxdoc.css_t | ||||
|  * ~~~~~~~~~~~~~~~ | ||||
|  * | ||||
|  * Sphinx stylesheet -- sphinxdoc theme.  Originally created by | ||||
|  * Armin Ronacher for Werkzeug. | ||||
|  * | ||||
|  * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. | ||||
|  * :license: BSD, see LICENSE for details. | ||||
|  * | ||||
|  */ | ||||
|  | ||||
| @import url("basic.css"); | ||||
|  | ||||
| /* -- page layout ----------------------------------------------------------- */ | ||||
|  | ||||
| body { | ||||
|     font-family: 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva', | ||||
|                  'Verdana', sans-serif; | ||||
|     font-size: 14px; | ||||
|     letter-spacing: -0.01em; | ||||
|     line-height: 150%; | ||||
|     text-align: center; | ||||
|     background-color: #BFD1D4; | ||||
|     color: black; | ||||
|     padding: 0; | ||||
|     border: 1px solid #aaa; | ||||
|  | ||||
|     margin: 0px 80px 0px 80px; | ||||
|     min-width: 740px; | ||||
| } | ||||
|  | ||||
| div.document { | ||||
|     background-color: white; | ||||
|     text-align: left; | ||||
|     background-image: url(contents.png); | ||||
|     background-repeat: repeat-x; | ||||
| } | ||||
|  | ||||
| div.bodywrapper { | ||||
|     margin: 0 240px 0 0; | ||||
|     border-right: 1px solid #ccc; | ||||
| } | ||||
|  | ||||
| div.body { | ||||
|     margin: 0; | ||||
|     padding: 0.5em 20px 20px 20px; | ||||
| } | ||||
|  | ||||
| div.related { | ||||
|     font-size: 1em; | ||||
| } | ||||
|  | ||||
| div.related ul { | ||||
|     background-image: url(navigation.png); | ||||
|     height: 2em; | ||||
|     border-top: 1px solid #ddd; | ||||
|     border-bottom: 1px solid #ddd; | ||||
| } | ||||
|  | ||||
| div.related ul li { | ||||
|     margin: 0; | ||||
|     padding: 0; | ||||
|     height: 2em; | ||||
|     float: left; | ||||
| } | ||||
|  | ||||
| div.related ul li.right { | ||||
|     float: right; | ||||
|     margin-right: 5px; | ||||
| } | ||||
|  | ||||
| div.related ul li a { | ||||
|     margin: 0; | ||||
|     padding: 0 5px 0 5px; | ||||
|     line-height: 1.75em; | ||||
|     color: #EE9816; | ||||
| } | ||||
|  | ||||
| div.related ul li a:hover { | ||||
|     color: #3CA8E7; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebarwrapper { | ||||
|     padding: 0; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar { | ||||
|     margin: 0; | ||||
|     padding: 0.5em 15px 15px 0; | ||||
|     width: 210px; | ||||
|     float: right; | ||||
|     font-size: 1em; | ||||
|     text-align: left; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar h3, div.sphinxsidebar h4 { | ||||
|     margin: 1em 0 0.5em 0; | ||||
|     font-size: 1em; | ||||
|     padding: 0.1em 0 0.1em 0.5em; | ||||
|     color: white; | ||||
|     border: 1px solid #86989B; | ||||
|     background-color: #AFC1C4; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar h3 a { | ||||
|     color: white; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar ul { | ||||
|     padding-left: 1.5em; | ||||
|     margin-top: 7px; | ||||
|     padding: 0; | ||||
|     line-height: 130%; | ||||
| } | ||||
|  | ||||
| div.sphinxsidebar ul ul { | ||||
|     margin-left: 20px; | ||||
| } | ||||
|  | ||||
| div.footer { | ||||
|     background-color: #E3EFF1; | ||||
|     color: #86989B; | ||||
|     padding: 3px 8px 3px 0; | ||||
|     clear: both; | ||||
|     font-size: 0.8em; | ||||
|     text-align: right; | ||||
| } | ||||
|  | ||||
| div.footer a { | ||||
|     color: #86989B; | ||||
|     text-decoration: underline; | ||||
| } | ||||
|  | ||||
| /* -- body styles ----------------------------------------------------------- */ | ||||
|  | ||||
| p { | ||||
|     margin: 0.8em 0 0.5em 0; | ||||
| } | ||||
|  | ||||
| a { | ||||
|     color: #CA7900; | ||||
|     text-decoration: none; | ||||
| } | ||||
|  | ||||
| a:hover { | ||||
|     color: #2491CF; | ||||
| } | ||||
|  | ||||
| div.body a { | ||||
|     text-decoration: underline; | ||||
| } | ||||
|  | ||||
| h1 { | ||||
|     margin: 0; | ||||
|     padding: 0.7em 0 0.3em 0; | ||||
|     font-size: 1.5em; | ||||
|     color: #11557C; | ||||
| } | ||||
|  | ||||
| h2 { | ||||
|     margin: 1.3em 0 0.2em 0; | ||||
|     font-size: 1.35em; | ||||
|     padding: 0; | ||||
| } | ||||
|  | ||||
| h3 { | ||||
|     margin: 1em 0 -0.3em 0; | ||||
|     font-size: 1.2em; | ||||
| } | ||||
|  | ||||
| div.body h1 a, div.body h2 a, div.body h3 a, div.body h4 a, div.body h5 a, div.body h6 a { | ||||
|     color: black!important; | ||||
| } | ||||
|  | ||||
| h1 a.anchor, h2 a.anchor, h3 a.anchor, h4 a.anchor, h5 a.anchor, h6 a.anchor { | ||||
|     display: none; | ||||
|     margin: 0 0 0 0.3em; | ||||
|     padding: 0 0.2em 0 0.2em; | ||||
|     color: #aaa!important; | ||||
| } | ||||
|  | ||||
| h1:hover a.anchor, h2:hover a.anchor, h3:hover a.anchor, h4:hover a.anchor, | ||||
| h5:hover a.anchor, h6:hover a.anchor { | ||||
|     display: inline; | ||||
| } | ||||
|  | ||||
| h1 a.anchor:hover, h2 a.anchor:hover, h3 a.anchor:hover, h4 a.anchor:hover, | ||||
| h5 a.anchor:hover, h6 a.anchor:hover { | ||||
|     color: #777; | ||||
|     background-color: #eee; | ||||
| } | ||||
|  | ||||
| a.headerlink { | ||||
|     color: #c60f0f!important; | ||||
|     font-size: 1em; | ||||
|     margin-left: 6px; | ||||
|     padding: 0 4px 0 4px; | ||||
|     text-decoration: none!important; | ||||
| } | ||||
|  | ||||
| a.headerlink:hover { | ||||
|     background-color: #ccc; | ||||
|     color: white!important; | ||||
| } | ||||
|  | ||||
| cite, code, tt { | ||||
|     font-family: 'Consolas', 'Deja Vu Sans Mono', | ||||
|                  'Bitstream Vera Sans Mono', monospace; | ||||
|     font-size: 0.95em; | ||||
|     letter-spacing: 0.01em; | ||||
| } | ||||
|  | ||||
| tt { | ||||
|     background-color: #f2f2f2; | ||||
|     border-bottom: 1px solid #ddd; | ||||
|     color: #333; | ||||
| } | ||||
|  | ||||
| tt.descname, tt.descclassname, tt.xref { | ||||
|     border: 0; | ||||
| } | ||||
|  | ||||
| hr { | ||||
|     border: 1px solid #abc; | ||||
|     margin: 2em; | ||||
| } | ||||
|  | ||||
| a tt { | ||||
|     border: 0; | ||||
|     color: #CA7900; | ||||
| } | ||||
|  | ||||
| a tt:hover { | ||||
|     color: #2491CF; | ||||
| } | ||||
|  | ||||
| pre { | ||||
|     font-family: 'Consolas', 'Deja Vu Sans Mono', | ||||
|                  'Bitstream Vera Sans Mono', monospace; | ||||
|     font-size: 0.95em; | ||||
|     letter-spacing: 0.015em; | ||||
|     line-height: 120%; | ||||
|     padding: 0.5em; | ||||
|     border: 1px solid #ccc; | ||||
|     background-color: #f8f8f8; | ||||
| } | ||||
|  | ||||
| pre a { | ||||
|     color: inherit; | ||||
|     text-decoration: underline; | ||||
| } | ||||
|  | ||||
| td.linenos pre { | ||||
|     padding: 0.5em 0; | ||||
| } | ||||
|  | ||||
| div.quotebar { | ||||
|     background-color: #f8f8f8; | ||||
|     max-width: 250px; | ||||
|     float: right; | ||||
|     padding: 2px 7px; | ||||
|     border: 1px solid #ccc; | ||||
| } | ||||
|  | ||||
| div.topic { | ||||
|     background-color: #f8f8f8; | ||||
| } | ||||
|  | ||||
| table { | ||||
|     border-collapse: collapse; | ||||
|     margin: 0 -0.5em 0 -0.5em; | ||||
| } | ||||
|  | ||||
| table td, table th { | ||||
|     padding: 0.2em 0.5em 0.2em 0.5em; | ||||
| } | ||||
|  | ||||
| div.admonition, div.warning { | ||||
|     font-size: 0.9em; | ||||
|     margin: 1em 0 1em 0; | ||||
|     border: 1px solid #86989B; | ||||
|     background-color: #f7f7f7; | ||||
|     padding: 0; | ||||
| } | ||||
|  | ||||
| div.admonition p, div.warning p { | ||||
|     margin: 0.5em 1em 0.5em 1em; | ||||
|     padding: 0; | ||||
| } | ||||
|  | ||||
| div.admonition pre, div.warning pre { | ||||
|     margin: 0.4em 1em 0.4em 1em; | ||||
| } | ||||
|  | ||||
| div.admonition p.admonition-title, | ||||
| div.warning p.admonition-title { | ||||
|     margin: 0; | ||||
|     padding: 0.1em 0 0.1em 0.5em; | ||||
|     color: white; | ||||
|     border-bottom: 1px solid #86989B; | ||||
|     font-weight: bold; | ||||
|     background-color: #AFC1C4; | ||||
| } | ||||
|  | ||||
| div.warning { | ||||
|     border: 1px solid #940000; | ||||
| } | ||||
|  | ||||
| div.warning p.admonition-title { | ||||
|     background-color: #CF0000; | ||||
|     border-bottom-color: #940000; | ||||
| } | ||||
|  | ||||
| div.admonition ul, div.admonition ol, | ||||
| div.warning ul, div.warning ol { | ||||
|     margin: 0.1em 0.5em 0.5em 3em; | ||||
|     padding: 0; | ||||
| } | ||||
|  | ||||
| div.versioninfo { | ||||
|     margin: 1em 0 0 0; | ||||
|     border: 1px solid #ccc; | ||||
|     background-color: #DDEAF0; | ||||
|     padding: 8px; | ||||
|     line-height: 1.3em; | ||||
|     font-size: 0.9em; | ||||
| } | ||||
|  | ||||
| .viewcode-back { | ||||
|     font-family: 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva', | ||||
|                  'Verdana', sans-serif; | ||||
| } | ||||
|  | ||||
| div.viewcode-block:target { | ||||
|     background-color: #f4debf; | ||||
|     border-top: 1px solid #ac9; | ||||
|     border-bottom: 1px solid #ac9; | ||||
| } | ||||
							
								
								
									
										69
									
								
								docs/_templates/layout.html
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										69
									
								
								docs/_templates/layout.html
									
									
									
									
										vendored
									
									
								
							| @@ -1,69 +0,0 @@ | ||||
| {# | ||||
|     haiku/layout.html | ||||
|     ~~~~~~~~~~~~~~~~~ | ||||
|  | ||||
|     Sphinx layout template for the haiku theme. | ||||
|  | ||||
|     :copyright: Copyright 2007-2010 by the Sphinx team, see AUTHORS. | ||||
|     :license: BSD, see LICENSE for details. | ||||
| #} | ||||
| {% extends "basic/layout.html" %} | ||||
| {% set script_files = script_files + ['_static/theme_extras.js'] %} | ||||
| {% set css_files = css_files + ['_static/print.css'] %} | ||||
|  | ||||
| {# do not display relbars #} | ||||
| {% block relbar1 %}{% endblock %} | ||||
| {% block relbar2 %}{% endblock %} | ||||
|  | ||||
| {% macro nav() %} | ||||
|         <p> | ||||
|         {%- block haikurel1 %} | ||||
|         {%- endblock %} | ||||
|         {%- if prev %} | ||||
|         «  <a href="{{ prev.link|e }}">{{ prev.title }}</a> | ||||
|           ::   | ||||
|         {%- endif %} | ||||
|         <a class="uplink" href="{{ pathto(master_doc) }}">{{ _('Contents') }}</a> | ||||
|         {%- if next %} | ||||
|           ::   | ||||
|         <a href="{{ next.link|e }}">{{ next.title }}</a>  » | ||||
|         {%- endif %} | ||||
|         {%- block haikurel2 %} | ||||
|         {%- endblock %} | ||||
|         </p> | ||||
| {% endmacro %} | ||||
|  | ||||
| {% block content %} | ||||
|       <div class="header"> | ||||
|         {%- block haikuheader %} | ||||
|         {%- if theme_full_logo != "false" %} | ||||
|         <a href="{{ pathto('index') }}"> | ||||
|           <img class="logo" src="{{ pathto('_static/' + logo, 1) }}" alt="Logo"/> | ||||
|         </a> | ||||
|         {%- else %} | ||||
|         {%- if logo -%} | ||||
|           <img class="rightlogo" src="{{ pathto('_static/' + logo, 1) }}" alt="Logo"/> | ||||
|         {%- endif -%} | ||||
|         <h1 class="heading"><a href="{{ pathto('index') }}"> | ||||
|           <span>{{ title|striptags }}</span></a></h1> | ||||
|         <h2 class="heading"><span>{{ shorttitle|e }}</span></h2> | ||||
|         {%- endif %} | ||||
|         {%- endblock %} | ||||
|       </div> | ||||
|       <div class="topnav"> | ||||
|       {{ nav() }} | ||||
|       </div> | ||||
|       <div class="content"> | ||||
|         {#{%- if display_toc %} | ||||
|         <div id="toc"> | ||||
|           <h3>Table Of Contents</h3> | ||||
|           {{ toc }} | ||||
|         </div> | ||||
|         {%- endif %}#} | ||||
|         {% block body %}{% endblock %} | ||||
|       </div> | ||||
|       <div class="bottomnav"> | ||||
|       {{ nav() }} | ||||
|       </div> | ||||
| {% endblock %} | ||||
|  | ||||
| @@ -1,8 +0,0 @@ | ||||
| ======== | ||||
| BaseXMPP | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.basexmpp | ||||
|  | ||||
| .. autoclass:: BaseXMPP | ||||
|     :members: | ||||
| @@ -1,8 +0,0 @@ | ||||
| ========== | ||||
| ClientXMPP | ||||
| ========== | ||||
|  | ||||
| .. module:: slixmpp.clientxmpp | ||||
|  | ||||
| .. autoclass:: ClientXMPP | ||||
|     :members: | ||||
| @@ -1,8 +0,0 @@ | ||||
| ============= | ||||
| ComponentXMPP | ||||
| ============= | ||||
|  | ||||
| .. module:: slixmpp.componentxmpp | ||||
|  | ||||
| .. autoclass:: ComponentXMPP | ||||
|     :members: | ||||
| @@ -1,14 +0,0 @@ | ||||
| Exceptions | ||||
| ========== | ||||
|  | ||||
| .. module:: slixmpp.exceptions | ||||
|  | ||||
|  | ||||
| .. autoexception:: XMPPError | ||||
|     :members: | ||||
|  | ||||
| .. autoexception:: IqError | ||||
|     :members: | ||||
|  | ||||
| .. autoexception:: IqTimeout | ||||
|     :members: | ||||
| @@ -1,96 +0,0 @@ | ||||
| Plugin index | ||||
| ============ | ||||
|  | ||||
| .. toctree:: | ||||
|     :maxdepth: 2 | ||||
|  | ||||
|     xep_0004 | ||||
|     xep_0009 | ||||
|     xep_0012 | ||||
|     xep_0013 | ||||
|     xep_0020 | ||||
|     xep_0027 | ||||
|     xep_0030 | ||||
|     xep_0033 | ||||
|     xep_0045 | ||||
|     xep_0047 | ||||
|     xep_0049 | ||||
|     xep_0050 | ||||
|     xep_0054 | ||||
|     xep_0059 | ||||
|     xep_0060 | ||||
|     xep_0065 | ||||
|     xep_0066 | ||||
|     xep_0070 | ||||
|     xep_0071 | ||||
|     xep_0077 | ||||
|     xep_0079 | ||||
|     xep_0080 | ||||
|     xep_0082 | ||||
|     xep_0084 | ||||
|     xep_0085 | ||||
|     xep_0086 | ||||
|     xep_0092 | ||||
|     xep_0106 | ||||
|     xep_0107 | ||||
|     xep_0108 | ||||
|     xep_0115 | ||||
|     xep_0118 | ||||
|     xep_0122 | ||||
|     xep_0128 | ||||
|     xep_0131 | ||||
|     xep_0133 | ||||
|     xep_0152 | ||||
|     xep_0153 | ||||
|     xep_0163 | ||||
|     xep_0172 | ||||
|     xep_0184 | ||||
|     xep_0186 | ||||
|     xep_0191 | ||||
|     xep_0196 | ||||
|     xep_0198 | ||||
|     xep_0199 | ||||
|     xep_0202 | ||||
|     xep_0203 | ||||
|     xep_0221 | ||||
|     xep_0222 | ||||
|     xep_0223 | ||||
|     xep_0224 | ||||
|     xep_0231 | ||||
|     xep_0235 | ||||
|     xep_0249 | ||||
|     xep_0256 | ||||
|     xep_0257 | ||||
|     xep_0258 | ||||
|     xep_0279 | ||||
|     xep_0280 | ||||
|     xep_0297 | ||||
|     xep_0300 | ||||
|     xep_0308 | ||||
|     xep_0313 | ||||
|     xep_0319 | ||||
|     xep_0332 | ||||
|     xep_0333 | ||||
|     xep_0334 | ||||
|     xep_0335 | ||||
|     xep_0352 | ||||
|     xep_0353 | ||||
|     xep_0359 | ||||
|     xep_0363 | ||||
|     xep_0369 | ||||
|     xep_0377 | ||||
|     xep_0380 | ||||
|     xep_0394 | ||||
|     xep_0403 | ||||
|     xep_0404 | ||||
|     xep_0405 | ||||
|     xep_0421 | ||||
|     xep_0422 | ||||
|     xep_0424 | ||||
|     xep_0425 | ||||
|     xep_0428 | ||||
|     xep_0437 | ||||
|     xep_0439 | ||||
|     xep_0444 | ||||
|  | ||||
|  | ||||
| @@ -1,21 +0,0 @@ | ||||
|  | ||||
| XEP 0004 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0004 | ||||
|  | ||||
| .. autoclass:: XEP_0004 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0004.stanza.field | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0004.stanza.form | ||||
|     :members: | ||||
|     :undoc-members: | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0009 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0009 | ||||
|  | ||||
| .. autoclass:: XEP_0009 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0009.stanza.RPC | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0012 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0012 | ||||
|  | ||||
| .. autoclass:: XEP_0012 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0012.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0013 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0013 | ||||
|  | ||||
| .. autoclass:: XEP_0013 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0013.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0020 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0020 | ||||
|  | ||||
| .. autoclass:: XEP_0020 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0020.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0027 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0027 | ||||
|  | ||||
| .. autoclass:: XEP_0027 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0027.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,22 +0,0 @@ | ||||
|  | ||||
| XEP 0030 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0030 | ||||
|  | ||||
| .. autoclass:: XEP_0030 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0030.stanza.info | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0030.stanza.items | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0033 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0033 | ||||
|  | ||||
| .. autoclass:: XEP_0033 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0033.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0045 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0045 | ||||
|  | ||||
| .. autoclass:: XEP_0045 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0045.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0047 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0047 | ||||
|  | ||||
| .. autoclass:: XEP_0047 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0047.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0049 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0049 | ||||
|  | ||||
| .. autoclass:: XEP_0049 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0049.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0050 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0050 | ||||
|  | ||||
| .. autoclass:: XEP_0050 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0050.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0054 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0054 | ||||
|  | ||||
| .. autoclass:: XEP_0054 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0054.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0059 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0059 | ||||
|  | ||||
| .. autoclass:: XEP_0059 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0059.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,37 +0,0 @@ | ||||
|  | ||||
| XEP 0060 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0060 | ||||
|  | ||||
| .. autoclass:: XEP_0060 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0060.stanza.base | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0060.stanza.pubsub | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
|  | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0060.stanza.pubsub_errors | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0060.stanza.pubsub_owner | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0060.stanza.pubsub_event | ||||
|     :members: | ||||
|     :undoc-members: | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0065 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0065 | ||||
|  | ||||
| .. autoclass:: XEP_0065 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0065.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0066 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0066 | ||||
|  | ||||
| .. autoclass:: XEP_0066 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0066.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0070 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0070 | ||||
|  | ||||
| .. autoclass:: XEP_0070 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0070.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0071 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0071 | ||||
|  | ||||
| .. autoclass:: XEP_0071 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0071.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0077 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0077 | ||||
|  | ||||
| .. autoclass:: XEP_0077 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0077.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0079 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0079 | ||||
|  | ||||
| .. autoclass:: XEP_0079 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0079.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0080 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0080 | ||||
|  | ||||
| .. autoclass:: XEP_0080 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0080.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,9 +0,0 @@ | ||||
|  | ||||
| XEP 0082 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0082 | ||||
|  | ||||
| .. autoclass:: XEP_0082 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0084 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0084 | ||||
|  | ||||
| .. autoclass:: XEP_0084 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0084.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0085 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0085 | ||||
|  | ||||
| .. autoclass:: XEP_0085 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0085.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0086 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0086 | ||||
|  | ||||
| .. autoclass:: XEP_0086 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0086.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0092 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0092 | ||||
|  | ||||
| .. autoclass:: XEP_0092 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0092.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,9 +0,0 @@ | ||||
|  | ||||
| XEP 0106 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0106 | ||||
|  | ||||
| .. autoclass:: XEP_0106 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0107 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0107 | ||||
|  | ||||
| .. autoclass:: XEP_0107 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0107.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0108 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0108 | ||||
|  | ||||
| .. autoclass:: XEP_0108 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0108.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0115 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0115 | ||||
|  | ||||
| .. autoclass:: XEP_0115 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0115.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0118 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0118 | ||||
|  | ||||
| .. autoclass:: XEP_0118 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0118.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0122 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0122 | ||||
|  | ||||
| .. autoclass:: XEP_0122 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0122.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,9 +0,0 @@ | ||||
|  | ||||
| XEP 0128 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0128 | ||||
|  | ||||
| .. autoclass:: XEP_0128 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0131 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0131 | ||||
|  | ||||
| .. autoclass:: XEP_0131 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0131.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,9 +0,0 @@ | ||||
|  | ||||
| XEP 0133 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0133 | ||||
|  | ||||
| .. autoclass:: XEP_0133 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0152 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0152 | ||||
|  | ||||
| .. autoclass:: XEP_0152 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0152.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0153 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0153 | ||||
|  | ||||
| .. autoclass:: XEP_0153 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0153.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,9 +0,0 @@ | ||||
|  | ||||
| XEP 0163 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0163 | ||||
|  | ||||
| .. autoclass:: XEP_0163 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0172 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0172 | ||||
|  | ||||
| .. autoclass:: XEP_0172 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0172.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0184 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0184 | ||||
|  | ||||
| .. autoclass:: XEP_0184 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0184.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0186 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0186 | ||||
|  | ||||
| .. autoclass:: XEP_0186 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0186.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0191 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0191 | ||||
|  | ||||
| .. autoclass:: XEP_0191 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0191.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0196 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0196 | ||||
|  | ||||
| .. autoclass:: XEP_0196 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0196.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0198 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0198 | ||||
|  | ||||
| .. autoclass:: XEP_0198 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0198.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0199 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0199 | ||||
|  | ||||
| .. autoclass:: XEP_0199 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0199.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0202 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0202 | ||||
|  | ||||
| .. autoclass:: XEP_0202 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0202.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0203 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0203 | ||||
|  | ||||
| .. autoclass:: XEP_0203 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0203.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0221 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0221 | ||||
|  | ||||
| .. autoclass:: XEP_0221 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0221.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,9 +0,0 @@ | ||||
|  | ||||
| XEP 0222 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0222 | ||||
|  | ||||
| .. autoclass:: XEP_0222 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
| @@ -1,9 +0,0 @@ | ||||
|  | ||||
| XEP 0223 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0223 | ||||
|  | ||||
| .. autoclass:: XEP_0223 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0224 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0224 | ||||
|  | ||||
| .. autoclass:: XEP_0224 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0224.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0231 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0231 | ||||
|  | ||||
| .. autoclass:: XEP_0231 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0231.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0235 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0235 | ||||
|  | ||||
| .. autoclass:: XEP_0235 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0235.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0249 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0249 | ||||
|  | ||||
| .. autoclass:: XEP_0249 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0249.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
| @@ -1,9 +0,0 @@ | ||||
|  | ||||
| XEP 0256 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0256 | ||||
|  | ||||
| .. autoclass:: XEP_0256 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
| @@ -1,18 +0,0 @@ | ||||
|  | ||||
| XEP 0257 | ||||
| ======== | ||||
|  | ||||
| .. module:: slixmpp.plugins.xep_0257 | ||||
|  | ||||
| .. autoclass:: XEP_0257 | ||||
|     :members: | ||||
|     :exclude-members: session_bind, plugin_init, plugin_end | ||||
|  | ||||
|  | ||||
| Stanza elements | ||||
| --------------- | ||||
|  | ||||
| .. automodule:: slixmpp.plugins.xep_0257.stanza | ||||
|     :members: | ||||
|     :undoc-members: | ||||
|  | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user