Compare commits
No commits in common. "master" and "WIP" have entirely different histories.
2
.gitignore
vendored
2
.gitignore
vendored
@ -13,5 +13,3 @@ slixmpp.egg-info/
|
||||
.baboon/
|
||||
.DS_STORE
|
||||
.idea/
|
||||
.vscode/
|
||||
venv/
|
8
.gitlab-ci.yml
Normal file
8
.gitlab-ci.yml
Normal file
@ -0,0 +1,8 @@
|
||||
test:
|
||||
tags:
|
||||
- docker
|
||||
image: ubuntu:latest
|
||||
script:
|
||||
- apt update
|
||||
- apt install -y python3 cython3
|
||||
- ./run_tests.py
|
@ -1,22 +0,0 @@
|
||||
# .readthedocs.yaml
|
||||
# Read the Docs configuration file
|
||||
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
|
||||
|
||||
# Required
|
||||
version: 2
|
||||
|
||||
# Set the version of Python and other tools you might need
|
||||
build:
|
||||
os: ubuntu-22.04
|
||||
tools:
|
||||
python: "3.11"
|
||||
|
||||
# Build documentation in the docs/ directory with Sphinx
|
||||
sphinx:
|
||||
configuration: docs/conf.py
|
||||
|
||||
# We recommend specifying your dependencies to enable reproducible builds:
|
||||
# https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
|
||||
python:
|
||||
install:
|
||||
- requirements: docs/requirements.txt
|
10
.travis.yml
Normal file
10
.travis.yml
Normal file
@ -0,0 +1,10 @@
|
||||
language: python
|
||||
python:
|
||||
- "2.6"
|
||||
- "2.7"
|
||||
- "3.2"
|
||||
- "3.3"
|
||||
- "3.4"
|
||||
install:
|
||||
- "pip install ."
|
||||
script: testall.py
|
@ -1,9 +0,0 @@
|
||||
when:
|
||||
event: [ push, pull_request ]
|
||||
|
||||
steps:
|
||||
mypy:
|
||||
image: python:3
|
||||
commands:
|
||||
- pip3 install mypy types-setuptools
|
||||
- mypy slixmpp
|
@ -1,23 +0,0 @@
|
||||
when:
|
||||
event: [ push, pull_request ]
|
||||
|
||||
steps:
|
||||
test_integration:
|
||||
image: "python:3.11"
|
||||
environment:
|
||||
CI_ACCOUNT1:
|
||||
from_secret: ci_account1
|
||||
CI_ACCOUNT1_PASSWORD:
|
||||
from_secret: ci_account1_password
|
||||
CI_ACCOUNT2:
|
||||
from_secret: ci_account2
|
||||
CI_ACCOUNT2_PASSWORD:
|
||||
from_secret: ci_account2_password
|
||||
CI_MUC_SERVER:
|
||||
from_secret: ci_muc_server
|
||||
commands:
|
||||
- apt-get update
|
||||
- apt-get install -y python3-pip cython3 gpg idn libidn-dev
|
||||
- pip3 install emoji aiohttp aiodns
|
||||
- python3 setup.py build_ext --inplace
|
||||
- ./run_integration_tests.py
|
@ -1,19 +0,0 @@
|
||||
when:
|
||||
event: [ push, pull_request ]
|
||||
|
||||
steps:
|
||||
unit_tests:
|
||||
image: "python:${TAG}"
|
||||
commands:
|
||||
- apt-get update
|
||||
- apt-get install -y python3 python3-pip cython3 gpg
|
||||
- pip3 install emoji aiohttp cryptography setuptools
|
||||
- ./run_tests.py
|
||||
|
||||
matrix:
|
||||
TAG:
|
||||
- "3.9"
|
||||
- "3.10"
|
||||
- "3.11"
|
||||
- "3.12"
|
||||
- "3.13"
|
@ -5,7 +5,7 @@ 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://codeberg.org/poezio/slixmpp/issues/new>`_
|
||||
- a ticket `on the bug tracker <https://dev.poez.io/new>`_
|
||||
- a pull request on github
|
||||
- a simple message on `the XMPP MUC <xmpp:slixmpp@muc.poez.io>`_
|
||||
|
||||
|
3
INSTALL
3
INSTALL
@ -1,7 +1,6 @@
|
||||
Pre-requisites:
|
||||
- Python 3.7+
|
||||
- Python 3.4
|
||||
- Cython 0.22 and libidn, optionally (making JID faster by compiling the stringprep module)
|
||||
- GnuPG, for testing
|
||||
|
||||
Install:
|
||||
> python3 setup.py install
|
||||
|
53
LICENSE
53
LICENSE
@ -86,6 +86,34 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
|
||||
|
||||
OrderedDict - A port of the Python 2.7+ OrderedDict to Python 2.6
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Copyright (c) 2009 Raymond Hettinger
|
||||
|
||||
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.
|
||||
|
||||
|
||||
|
||||
|
||||
SUELTA – A PURE-PYTHON SASL CLIENT LIBRARY
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
@ -139,3 +167,28 @@ 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.
|
||||
|
||||
socksipy: A Python SOCKS client module.
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
Copyright 2006 Dan-Haim. All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification,
|
||||
are permitted provided that the following conditions are met:
|
||||
1. Redistributions of source code must retain the above copyright notice, this
|
||||
list of conditions and the following disclaimer.
|
||||
2. 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.
|
||||
3. Neither the name of Dan Haim nor the names of his contributors may be used
|
||||
to endorse or promote products derived from this software without specific
|
||||
prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY DAN HAIM "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 DAN HAIM OR HIS 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, 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 DAMANGE.
|
||||
|
20
README.rst
20
README.rst
@ -1,7 +1,7 @@
|
||||
Slixmpp
|
||||
#########
|
||||
|
||||
Slixmpp is an MIT licensed XMPP library for Python 3.7+. It is a fork of
|
||||
Slixmpp is an MIT licensed XMPP library for Python 3.4+. It is a fork of
|
||||
SleekXMPP.
|
||||
|
||||
Slixmpp's goals is to only rewrite the core of the library (the low level
|
||||
@ -31,27 +31,12 @@ 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
|
||||
based project. See the documetation or examples directory for more detailed archetypes for
|
||||
Slixmpp projects::
|
||||
|
||||
import logging
|
||||
@ -128,7 +113,6 @@ Slixmpp Credits
|
||||
- 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)
|
||||
-------------------
|
||||
|
452
docs/_static/agogo.css
vendored
Normal file
452
docs/_static/agogo.css
vendored
Normal file
@ -0,0 +1,452 @@
|
||||
/*
|
||||
* 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
Normal file
532
docs/_static/basic.css
vendored
Normal file
@ -0,0 +1,532 @@
|
||||
/*
|
||||
* 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
Normal file
256
docs/_static/default.css
vendored
Normal file
@ -0,0 +1,256 @@
|
||||
/*
|
||||
* 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
Normal file
BIN
docs/_static/fonts/Museo_Slab_500.otf
vendored
Normal file
Binary file not shown.
BIN
docs/_static/fonts/Museo_Slab_500italic.otf
vendored
Normal file
BIN
docs/_static/fonts/Museo_Slab_500italic.otf
vendored
Normal file
Binary file not shown.
BIN
docs/_static/fonts/OFLGoudyStMTT-Italic.ttf
vendored
Normal file
BIN
docs/_static/fonts/OFLGoudyStMTT-Italic.ttf
vendored
Normal file
Binary file not shown.
BIN
docs/_static/fonts/OFLGoudyStMTT.ttf
vendored
Normal file
BIN
docs/_static/fonts/OFLGoudyStMTT.ttf
vendored
Normal file
Binary file not shown.
BIN
docs/_static/fonts/YanoneKaffeesatz-Bold.ttf
vendored
Normal file
BIN
docs/_static/fonts/YanoneKaffeesatz-Bold.ttf
vendored
Normal file
Binary file not shown.
BIN
docs/_static/fonts/YanoneKaffeesatz-Light.ttf
vendored
Normal file
BIN
docs/_static/fonts/YanoneKaffeesatz-Light.ttf
vendored
Normal file
Binary file not shown.
BIN
docs/_static/fonts/YanoneKaffeesatz-Regular.ttf
vendored
Normal file
BIN
docs/_static/fonts/YanoneKaffeesatz-Regular.ttf
vendored
Normal file
Binary file not shown.
BIN
docs/_static/fonts/YanoneKaffeesatz-Thin.ttf
vendored
Normal file
BIN
docs/_static/fonts/YanoneKaffeesatz-Thin.ttf
vendored
Normal file
Binary file not shown.
431
docs/_static/haiku.css
vendored
Normal file
431
docs/_static/haiku.css
vendored
Normal file
@ -0,0 +1,431 @@
|
||||
/*
|
||||
* 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;
|
||||
}
|
||||
|
||||
#from_andyet {
|
||||
-webkit-box-shadow: #CCC 0px 0px 3px;
|
||||
background: rgba(255, 255, 255, 1);
|
||||
bottom: 0px;
|
||||
right: 17px;
|
||||
padding: 3px 10px;
|
||||
position: fixed;
|
||||
}
|
||||
|
||||
#from_andyet h2 {
|
||||
background-image: url("images/from_&yet.png");
|
||||
background-repeat: no-repeat;
|
||||
height: 29px;
|
||||
line-height: 0;
|
||||
text-indent: -9999em;
|
||||
width: 79px;
|
||||
margin-top: 0;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
}
|
BIN
docs/_static/header.png
vendored
Normal file
BIN
docs/_static/header.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
70
docs/_static/ir_black.css
vendored
Normal file
70
docs/_static/ir_black.css
vendored
Normal file
@ -0,0 +1,70 @@
|
||||
.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
Normal file
245
docs/_static/nature.css
vendored
Normal file
@ -0,0 +1,245 @@
|
||||
/*
|
||||
* 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
Normal file
BIN
docs/_static/noise_dk.png
vendored
Normal file
Binary file not shown.
After Width: | Height: | Size: 22 KiB |
70
docs/_static/pygments.css
vendored
Normal file
70
docs/_static/pygments.css
vendored
Normal file
@ -0,0 +1,70 @@
|
||||
.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
Normal file
339
docs/_static/sphinxdoc.css
vendored
Normal file
@ -0,0 +1,339 @@
|
||||
/*
|
||||
* 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;
|
||||
}
|
70
docs/_templates/layout.html
vendored
Normal file
70
docs/_templates/layout.html
vendored
Normal file
@ -0,0 +1,70 @@
|
||||
{#
|
||||
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>
|
||||
<a id="from_andyet" href="http://andyet.net"><h2>From &yet</h2></a>
|
||||
{% endblock %}
|
||||
|
@ -1,88 +0,0 @@
|
||||
.. _internal-api:
|
||||
|
||||
Internal "API"
|
||||
==============
|
||||
|
||||
Slixmpp has a generic API registry that can be used by its plugins to allow
|
||||
access control, redefinition of behaviour, without having to inherit from the
|
||||
plugin or do more dark magic.
|
||||
|
||||
The idea is that each api call can be replaced, most of them use a form
|
||||
of in-memory storage that can be, for example, replaced with database
|
||||
or file-based storaged.
|
||||
|
||||
|
||||
Each plugin is assigned an API proxy bound to itself, but only a few make use
|
||||
of it.
|
||||
|
||||
See also :ref:`api-simple-tuto`.
|
||||
|
||||
Description of a generic API call
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
def get_toto(jid, node, ifrom, args):
|
||||
return 'toto'
|
||||
|
||||
self.xmpp.plugin['xep_XXXX'].api.register(handler, 'get_toto')
|
||||
|
||||
Each API call will receive 4 parameters (which can be ``None`` if data
|
||||
is not relevant to the operation), which are ``jid`` (``Optional[JID]``),
|
||||
``node`` (``Optional[str]``), ``ifrom`` (``Optional[JID]``), and ``args``
|
||||
(``Any``).
|
||||
|
||||
- ``jid``, if relevant, represents the JID targeted by that operation
|
||||
- ``node``, if relevant is an arbitrary string, but was thought for, e.g.,
|
||||
a pubsub or disco node.
|
||||
- ``ifrom``, if relevant, is the JID the event is coming from.
|
||||
- ``args`` is the event-specific data passed on by the plugin, often a dict
|
||||
of arguments (can be None as well).
|
||||
|
||||
.. note::
|
||||
Since 1.8.0, API calls can be coroutines.
|
||||
|
||||
|
||||
Handler hierarchy
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
The ``self.api.register()`` signature is as follows:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
def register(handler, op, jid=None, node=None, default=False):
|
||||
pass
|
||||
|
||||
As you can see, :meth:`~.APIRegistry.register` takes an additional ctype
|
||||
parameter, but the :class:`~.APIWrapper` takes care of that for us (in most
|
||||
cases, it is the name of the XEP plugin, such as ``'xep_0XXX'``).
|
||||
|
||||
When you register a handler, you register it for an ``op``, for **operation**.
|
||||
For example, ``get_vcard``.
|
||||
|
||||
``handler`` and ``op`` are the only two required parameters (and in many cases,
|
||||
all you will ever need). You can, however, go further and register handlers
|
||||
for specific values of the ``jid`` and ``node`` parameters of the calls.
|
||||
|
||||
The priority of the execution of handlers is as follows:
|
||||
|
||||
- Check if a handler for both values of ``node`` and ``jid`` has been defined
|
||||
- If not found, check if a handler for this value of ``jid`` has been defined
|
||||
- If not found, check if a handler for this value of ``node`` has been defined
|
||||
- If still not found, get the global handler (no parameter registered)
|
||||
|
||||
|
||||
Raw documentation
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
This documentation is provided for reference, but :meth:`~.APIRegistry.register`
|
||||
should be all you need.
|
||||
|
||||
|
||||
.. module:: slixmpp.api
|
||||
|
||||
.. autoclass:: APIRegistry
|
||||
:members:
|
||||
|
||||
.. autoclass:: APIWrapper
|
||||
|
@ -1,17 +0,0 @@
|
||||
API Reference
|
||||
-------------
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 3
|
||||
|
||||
clientxmpp
|
||||
componentxmpp
|
||||
basexmpp
|
||||
exceptions
|
||||
xmlstream/jid
|
||||
xmlstream/stanzabase
|
||||
xmlstream/handler
|
||||
xmlstream/matcher
|
||||
xmlstream/xmlstream
|
||||
xmlstream/tostring
|
||||
api
|
@ -1,111 +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_0055
|
||||
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_0100
|
||||
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_0264
|
||||
xep_0279
|
||||
xep_0280
|
||||
xep_0292
|
||||
xep_0297
|
||||
xep_0300
|
||||
xep_0308
|
||||
xep_0313
|
||||
xep_0317
|
||||
xep_0319
|
||||
xep_0332
|
||||
xep_0333
|
||||
xep_0334
|
||||
xep_0335
|
||||
xep_0352
|
||||
xep_0353
|
||||
xep_0356
|
||||
xep_0359
|
||||
xep_0363
|
||||
xep_0369
|
||||
xep_0372
|
||||
xep_0377
|
||||
xep_0380
|
||||
xep_0382
|
||||
xep_0385
|
||||
xep_0394
|
||||
xep_0402
|
||||
xep_0403
|
||||
xep_0404
|
||||
xep_0405
|
||||
xep_0421
|
||||
xep_0422
|
||||
xep_0424
|
||||
xep_0425
|
||||
xep_0428
|
||||
xep_0437
|
||||
xep_0439
|
||||
xep_0441
|
||||
xep_0444
|
||||
xep_0446
|
||||
xep_0447
|
||||
xep_0461
|
||||
xep_0469
|
||||
xep_0490
|
||||
xep_0492
|
@ -1,21 +0,0 @@
|
||||
|
||||
XEP-0004: Data Forms
|
||||
====================
|
||||
|
||||
.. 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: Jabber-RPC
|
||||
====================
|
||||
|
||||
.. 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,56 +0,0 @@
|
||||
|
||||
XEP-0012: Last Activity
|
||||
=======================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0012
|
||||
|
||||
.. autoclass:: XEP_0012
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
||||
|
||||
|
||||
.. _api-0012:
|
||||
|
||||
Internal API methods
|
||||
--------------------
|
||||
|
||||
This plugin uses an in-memory storage by default to keep track of the
|
||||
received and sent last activities.
|
||||
|
||||
.. glossary::
|
||||
|
||||
get_last_activity
|
||||
- **jid**: :class:`~.JID` of whom to retrieve the last activity
|
||||
- **node**: unused
|
||||
- **ifrom**: who the request is from (None = local)
|
||||
- **args**: ``None`` or an :class:`~.Iq` that is requesting the
|
||||
- **returns**
|
||||
information.
|
||||
|
||||
Get the last activity of a JID from the storage.
|
||||
|
||||
set_last_activity
|
||||
- **jid**: :class:`~.JID` of whom to set the last activity
|
||||
- **node**: unused
|
||||
- **ifrom**: unused
|
||||
- **args**: A dict containing ``'seconds'`` and ``'status'``
|
||||
``{'seconds': Optional[int], 'status': Optional[str]}``
|
||||
|
||||
Set the last activity of a JID in the storage.
|
||||
|
||||
del_last_activity
|
||||
- **jid**: :class:`~.JID` to delete from the storage
|
||||
- **node**: unused
|
||||
- **ifrom**: unused
|
||||
- **args**: unused
|
||||
|
||||
Remove the last activity of a JID from the storage.
|
||||
|
||||
|
||||
Stanza elements
|
||||
---------------
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0012.stanza
|
||||
:members:
|
||||
:undoc-members:
|
||||
|
@ -1,18 +0,0 @@
|
||||
|
||||
XEP-0013: Flexible Offline Message Retrieval
|
||||
============================================
|
||||
|
||||
.. 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: Feature Negotiation
|
||||
=============================
|
||||
|
||||
.. 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,62 +0,0 @@
|
||||
|
||||
XEP-0027: Current Jabber OpenPGP Usage
|
||||
======================================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0027
|
||||
|
||||
.. autoclass:: XEP_0027
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
||||
|
||||
|
||||
.. _api-0027:
|
||||
|
||||
Internal API methods
|
||||
--------------------
|
||||
|
||||
The default API here is managing a JID→Keyid dict in-memory.
|
||||
|
||||
.. glossary::
|
||||
|
||||
get_keyid
|
||||
- **jid**: :class:`~.JID` to get.
|
||||
- **node**: unused
|
||||
- **ifrom**: unused
|
||||
- **args**: unused
|
||||
- **returns**: ``Optional[str]``, the keyid or None
|
||||
|
||||
Get the KeyiD for a JID, None if it is not found.
|
||||
|
||||
set_keyid
|
||||
- **jid**: :class:`~.JID` to set the id for.
|
||||
- **node**: unused
|
||||
- **ifrom**: unused
|
||||
- **args**: ``str``, keyid to set
|
||||
|
||||
Set the KeyiD for a JID.
|
||||
|
||||
del_keyid
|
||||
- **jid**: :class:`~.JID` to delete from the mapping.
|
||||
- **node**: unused
|
||||
- **ifrom**: unused
|
||||
- **args**: unused
|
||||
|
||||
Delete the KeyiD for a JID.
|
||||
|
||||
get_keyids
|
||||
- **jid**: unused
|
||||
- **node**: unused
|
||||
- **ifrom**: unused
|
||||
- **args**: unused
|
||||
- **returns**: ``Dict[JID, str]`` the full internal mapping
|
||||
|
||||
Get all currently stored KeyIDs.
|
||||
|
||||
|
||||
Stanza elements
|
||||
---------------
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0027.stanza
|
||||
:members:
|
||||
:undoc-members:
|
||||
|
@ -1,39 +0,0 @@
|
||||
|
||||
XEP-0030: Service Discovery
|
||||
===========================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0030
|
||||
|
||||
.. autoclass:: XEP_0030
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
||||
|
||||
|
||||
.. _api-0030:
|
||||
|
||||
Internal API Methods
|
||||
--------------------
|
||||
|
||||
All ``api`` operations supported by the 0030 plugin are implemented as part of
|
||||
the :class:`~.StaticDisco` class which implement an in-memory cache for disco
|
||||
info and items.
|
||||
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0030.static
|
||||
:members:
|
||||
:member-order: bysource
|
||||
|
||||
|
||||
Stanza elements
|
||||
---------------
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0030.stanza.info
|
||||
:members:
|
||||
:member-order: bysource
|
||||
:undoc-members:
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0030.stanza.items
|
||||
:members:
|
||||
:member-order: bysource
|
||||
:undoc-members:
|
||||
|
@ -1,18 +0,0 @@
|
||||
|
||||
XEP-0033: Extended Stanza Addressing
|
||||
====================================
|
||||
|
||||
.. 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,19 +0,0 @@
|
||||
|
||||
XEP-0045: Multi-User Chat
|
||||
=========================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0045
|
||||
|
||||
.. autoclass:: XEP_0045
|
||||
:member-order: bysource
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
||||
|
||||
|
||||
Stanza elements
|
||||
---------------
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0045.stanza
|
||||
:members:
|
||||
:undoc-members:
|
||||
|
@ -1,89 +0,0 @@
|
||||
|
||||
XEP-0047: In-band Bytestreams
|
||||
=============================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0047
|
||||
|
||||
.. autoclass:: XEP_0047
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
||||
|
||||
.. autoclass:: IBBytestream
|
||||
:members:
|
||||
|
||||
.. _api-0047:
|
||||
|
||||
Internal API methods
|
||||
--------------------
|
||||
|
||||
The API here is used to manage streams and authorize. The default handlers
|
||||
work with the config parameters.
|
||||
|
||||
.. glossary::
|
||||
|
||||
authorized_sid (0047 version)
|
||||
- **jid**: :class:`~.JID` receiving the stream initiation.
|
||||
- **node**: stream id
|
||||
- **ifrom**: who the stream is from.
|
||||
- **args**: :class:`~.Iq` of the stream request.
|
||||
- **returns**: ``True`` if the stream should be accepted,
|
||||
``False`` otherwise.
|
||||
|
||||
Check if the stream should be accepted. Uses
|
||||
the information setup by :term:`preauthorize_sid (0047 version)`
|
||||
by default.
|
||||
|
||||
authorized (0047 version)
|
||||
- **jid**: :class:`~.JID` receiving the stream initiation.
|
||||
- **node**: stream id
|
||||
- **ifrom**: who the stream is from.
|
||||
- **args**: :class:`~.Iq` of the stream request.
|
||||
- **returns**: ``True`` if the stream should be accepted,
|
||||
``False`` otherwise.
|
||||
|
||||
A fallback handler (run after :term:`authorized_sid (0047 version)`)
|
||||
to check if a stream should be accepted. Uses the ``auto_accept``
|
||||
parameter by default.
|
||||
|
||||
preauthorize_sid (0047 version)
|
||||
- **jid**: :class:`~.JID` receiving the stream initiation.
|
||||
- **node**: stream id
|
||||
- **ifrom**: who the stream will be from.
|
||||
- **args**: Unused.
|
||||
|
||||
Register a stream id to be accepted automatically (called from
|
||||
other plugins such as XEP-0095).
|
||||
|
||||
get_stream
|
||||
- **jid**: :class:`~.JID` of local receiver.
|
||||
- **node**: stream id
|
||||
- **ifrom**: who the stream is from.
|
||||
- **args**: unused
|
||||
- **returns**: :class:`~.IBBytestream`
|
||||
|
||||
Return a currently opened stream between two JIDs.
|
||||
|
||||
set_stream
|
||||
- **jid**: :class:`~.JID` of local receiver.
|
||||
- **node**: stream id
|
||||
- **ifrom**: who the stream is from.
|
||||
- **args**: unused
|
||||
|
||||
Register an opened stream between two JIDs.
|
||||
|
||||
del_stream
|
||||
- **jid**: :class:`~.JID` of local receiver.
|
||||
- **node**: stream id
|
||||
- **ifrom**: who the stream is from.
|
||||
- **args**: unused
|
||||
|
||||
Delete a stream between two JIDs.
|
||||
|
||||
|
||||
Stanza elements
|
||||
---------------
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0047.stanza
|
||||
:members:
|
||||
:undoc-members:
|
||||
|
@ -1,18 +0,0 @@
|
||||
|
||||
XEP-0049: Private XML Storage
|
||||
=============================
|
||||
|
||||
.. 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: Ad-Hoc Commands
|
||||
=========================
|
||||
|
||||
.. 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,52 +0,0 @@
|
||||
|
||||
XEP-0054: vcard-temp
|
||||
====================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0054
|
||||
|
||||
.. autoclass:: XEP_0054
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
||||
|
||||
.. _api-0054:
|
||||
|
||||
Internal API methods
|
||||
--------------------
|
||||
|
||||
This plugin maintains by default an in-memory cache of the received
|
||||
VCards.
|
||||
|
||||
.. glossary::
|
||||
|
||||
set_vcard
|
||||
- **jid**: :class:`~.JID` of whom to set the vcard
|
||||
- **node**: unused
|
||||
- **ifrom**: unused
|
||||
- **args**: :class:`~.VCardTemp` object to store for this JID.
|
||||
|
||||
Set a VCard for a JID.
|
||||
|
||||
get_vcard
|
||||
- **jid**: :class:`~.JID` of whom to set the vcard
|
||||
- **node**: unused
|
||||
- **ifrom**: :class:`~.JID` the request is coming from
|
||||
- **args**: unused
|
||||
- **returns**: :class:`~.VCardTemp` object for this JID or None.
|
||||
|
||||
Get a stored VCard for a JID.
|
||||
|
||||
del_vcard
|
||||
- **jid**: :class:`~.JID` of whom to set the vcard
|
||||
- **node**: unused
|
||||
- **ifrom**: unused
|
||||
- **args**: unused
|
||||
|
||||
Delete a stored VCard for a JID.
|
||||
|
||||
Stanza elements
|
||||
---------------
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0054.stanza
|
||||
:members:
|
||||
:undoc-members:
|
||||
|
@ -1,18 +0,0 @@
|
||||
|
||||
XEP-0055: Jabber search
|
||||
=======================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0055
|
||||
|
||||
.. autoclass:: XEP_0055
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
||||
|
||||
|
||||
Stanza elements
|
||||
---------------
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0055.stanza
|
||||
:members:
|
||||
:undoc-members:
|
||||
|
@ -1,21 +0,0 @@
|
||||
|
||||
XEP-0059: Result Set Management
|
||||
===============================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0059
|
||||
|
||||
.. autoclass:: XEP_0059
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
||||
|
||||
.. autoclass:: ResultIterator
|
||||
:members:
|
||||
:member-order: bysource
|
||||
|
||||
Stanza elements
|
||||
---------------
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0059.stanza
|
||||
:members:
|
||||
:undoc-members:
|
||||
|
@ -1,37 +0,0 @@
|
||||
|
||||
XEP-0060: Publish-Subscribe
|
||||
===========================
|
||||
|
||||
.. 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,60 +0,0 @@
|
||||
|
||||
XEP-0065: SOCKS5 Bytestreams
|
||||
============================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0065
|
||||
|
||||
.. autoclass:: XEP_0065
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
||||
|
||||
.. _api-0065:
|
||||
|
||||
Internal API methods
|
||||
--------------------
|
||||
|
||||
The internal API is used here to authorize or pre-authorize streams.
|
||||
|
||||
.. glossary::
|
||||
|
||||
authorized_sid (0065 version)
|
||||
- **jid**: :class:`~.JID` receiving the stream initiation.
|
||||
- **node**: stream id
|
||||
- **ifrom**: who the stream is from.
|
||||
- **args**: :class:`~.Iq` of the stream request.
|
||||
- **returns**: ``True`` if the stream should be accepted,
|
||||
``False`` otherwise.
|
||||
|
||||
Check if the stream should be accepted. Uses
|
||||
the information setup by :term:`preauthorize_sid (0065 version)`
|
||||
by default.
|
||||
|
||||
authorized (0065 version)
|
||||
- **jid**: :class:`~.JID` receiving the stream initiation.
|
||||
- **node**: stream id
|
||||
- **ifrom**: who the stream is from.
|
||||
- **args**: :class:`~.Iq` of the stream request.
|
||||
- **returns**: ``True`` if the stream should be accepted,
|
||||
``False`` otherwise.
|
||||
|
||||
A fallback handler (run after :term:`authorized_sid (0065 version)`)
|
||||
to check if a stream should be accepted. Uses the ``auto_accept``
|
||||
parameter by default.
|
||||
|
||||
preauthorize_sid (0065 version)
|
||||
- **jid**: :class:`~.JID` receiving the stream initiation.
|
||||
- **node**: stream id
|
||||
- **ifrom**: who the stream will be from.
|
||||
- **args**: Unused.
|
||||
|
||||
Register a stream id to be accepted automatically (called from
|
||||
other plugins such as XEP-0095).
|
||||
|
||||
|
||||
Stanza elements
|
||||
---------------
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0065.stanza
|
||||
:members:
|
||||
:undoc-members:
|
||||
|
@ -1,18 +0,0 @@
|
||||
|
||||
XEP-0066: Out of Band Data
|
||||
==========================
|
||||
|
||||
.. 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: Verifying HTTP Requests via XMPP
|
||||
==========================================
|
||||
|
||||
.. 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: XHTML-IM
|
||||
==================
|
||||
|
||||
.. 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,65 +0,0 @@
|
||||
|
||||
XEP-0077: In-Band Registration
|
||||
==============================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0077
|
||||
|
||||
.. autoclass:: XEP_0077
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
||||
|
||||
Internal APi methods
|
||||
--------------------
|
||||
|
||||
The API here is made to allow components to manage registered users.
|
||||
The default handlers make use of the plugin options and store users
|
||||
in memory.
|
||||
|
||||
.. glossary::
|
||||
|
||||
user_get
|
||||
- **jid**: unused
|
||||
- **node**: unused
|
||||
- **ifrom**: who the request is coming from
|
||||
- **args**: :class:`~.Iq` registration request.
|
||||
- **returns**: ``dict`` containing user data or None.
|
||||
|
||||
Get user data for a user.
|
||||
|
||||
user_validate
|
||||
- **jid**: unused
|
||||
- **node**: unused
|
||||
- **ifrom**: who the request is coming from
|
||||
- **args**: :class:`~.Iq` registration request, 'register' payload.
|
||||
- **raises**: ValueError if some fields are invalid
|
||||
|
||||
Validate form fields and save user data.
|
||||
|
||||
user_remove
|
||||
- **jid**: unused
|
||||
- **node**: unused
|
||||
- **ifrom**: who the request is coming from
|
||||
- **args**: :class:`~.Iq` registration removal request.
|
||||
- **raises**: KeyError if the user is not found.
|
||||
|
||||
Remove a user from the store.
|
||||
|
||||
make_registration_form
|
||||
- **jid**: unused
|
||||
- **node**: unused
|
||||
- **ifrom**: who the request is coming from
|
||||
- **args**: :class:`~.Iq` registration request.
|
||||
- **raises**: KeyError if the user is not found.
|
||||
|
||||
Return an :class:`~.Iq` reply for the request, with a form and
|
||||
options set. By default, use ``form_fields`` and ``form_instructions``
|
||||
plugin config options.
|
||||
|
||||
|
||||
Stanza elements
|
||||
---------------
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0077.stanza
|
||||
:members:
|
||||
:undoc-members:
|
||||
|
@ -1,18 +0,0 @@
|
||||
|
||||
XEP-0079: Advanced Message Processing
|
||||
=====================================
|
||||
|
||||
.. 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: User Location
|
||||
=======================
|
||||
|
||||
.. 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: XMPP Date and Time Profiles
|
||||
=====================================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0082
|
||||
|
||||
.. autoclass:: XEP_0082
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
@ -1,18 +0,0 @@
|
||||
|
||||
XEP-0084: User Avatar
|
||||
=====================
|
||||
|
||||
.. 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: Chat State Notifications
|
||||
==================================
|
||||
|
||||
.. 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: Error Condition Mappings
|
||||
==================================
|
||||
|
||||
.. 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: Software Version
|
||||
==========================
|
||||
|
||||
.. 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-0100: Gateway interaction
|
||||
=============================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0100
|
||||
|
||||
.. autoclass:: XEP_0100
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
@ -1,9 +0,0 @@
|
||||
|
||||
XEP-0106: JID Escaping
|
||||
======================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0106
|
||||
|
||||
.. autoclass:: XEP_0106
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
@ -1,18 +0,0 @@
|
||||
|
||||
XEP-0107: User Mood
|
||||
===================
|
||||
|
||||
.. 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: User Activity
|
||||
=======================
|
||||
|
||||
.. 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,66 +0,0 @@
|
||||
|
||||
XEP-0115: Entity Capabilities
|
||||
=============================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0115
|
||||
|
||||
.. autoclass:: XEP_0115
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
||||
|
||||
.. _api-0115:
|
||||
|
||||
Internal API methods
|
||||
--------------------
|
||||
|
||||
This internal API extends the Disco internal API, and also manages an
|
||||
in-memory cache of verstring→disco info, and fulljid→verstring.
|
||||
|
||||
.. glossary::
|
||||
|
||||
cache_caps
|
||||
- **jid**: unused
|
||||
- **node**: unused
|
||||
- **ifrom**: unused
|
||||
- **args**: a ``dict`` containing the verstring and
|
||||
:class:`~.DiscoInfo` payload (
|
||||
``{'verstring': Optional[str], 'info': Optional[DiscoInfo]}``)
|
||||
|
||||
Cache a verification string with its payload.
|
||||
|
||||
get_caps
|
||||
- **jid**: JID to retrieve the verstring for (unused with the default
|
||||
handler)
|
||||
- **node**: unused
|
||||
- **ifrom**: unused
|
||||
- **args**: a ``dict`` containing the verstring
|
||||
``{'verstring': str}``
|
||||
- **returns**: The :class:`~.DiscoInfo` payload for that verstring.
|
||||
|
||||
Get a disco payload from a verstring.
|
||||
|
||||
assign_verstring
|
||||
- **jid**: :class:`~.JID` (full) to assign the verstring to
|
||||
- **node**: unused
|
||||
- **ifrom**: unused
|
||||
- **args**: a ``dict`` containing the verstring
|
||||
``{'verstring': str}``
|
||||
|
||||
Cache JID→verstring information.
|
||||
|
||||
get_verstring
|
||||
- **jid**: :class:`~.JID` to use for fetching the verstring
|
||||
- **node**: unused
|
||||
- **ifrom**: unused
|
||||
- **args**: unused
|
||||
- **returns**: ``str``, the verstring
|
||||
|
||||
Retrieve a verstring for a JID.
|
||||
|
||||
Stanza elements
|
||||
---------------
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0115.stanza
|
||||
:members:
|
||||
:undoc-members:
|
||||
|
@ -1,18 +0,0 @@
|
||||
|
||||
XEP-0118: User Tune
|
||||
===================
|
||||
|
||||
.. 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: Data Forms Validation
|
||||
===============================
|
||||
|
||||
.. 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,44 +0,0 @@
|
||||
|
||||
XEP-0128: Service Discovery Extensions
|
||||
======================================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0128
|
||||
|
||||
.. autoclass:: XEP_0128
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
||||
|
||||
.. _api-0128:
|
||||
|
||||
Internal API methods
|
||||
--------------------
|
||||
|
||||
|
||||
|
||||
.. glossary::
|
||||
|
||||
add_extended_info
|
||||
- **jid**: JID to set the extended info for
|
||||
- **node**: note to set the info at
|
||||
- **ifrom**: unused
|
||||
- **args**: A :class:`~.Form` or list of forms to add to the disco
|
||||
extended info for this JID/node.
|
||||
|
||||
Add extended info for a JID/node.
|
||||
|
||||
set_extended_info
|
||||
- **jid**: JID to set the extended info for
|
||||
- **node**: note to set the info at
|
||||
- **ifrom**: unused
|
||||
- **args**: A :class:`~.Form` or list of forms to set as the disco
|
||||
extended info for this JID/node.
|
||||
|
||||
Set extended info for a JID/node.
|
||||
|
||||
del_extended_info
|
||||
- **jid**: JID to delete the extended info from
|
||||
- **node**: note to delete the info from
|
||||
- **ifrom**: unused
|
||||
- **args**: unused
|
||||
|
||||
Delete extended info for a JID/node.
|
@ -1,18 +0,0 @@
|
||||
|
||||
XEP-0131: Stanza Headers and Internet Metadata
|
||||
==============================================
|
||||
|
||||
.. 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: Service Administration
|
||||
================================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0133
|
||||
|
||||
.. autoclass:: XEP_0133
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
@ -1,18 +0,0 @@
|
||||
|
||||
XEP-0152: Reachability Addresses
|
||||
================================
|
||||
|
||||
.. 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,55 +0,0 @@
|
||||
|
||||
XEP-0153: vCard-Based Avatars
|
||||
=============================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0153
|
||||
|
||||
.. autoclass:: XEP_0153
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
||||
|
||||
.. _api-0153:
|
||||
|
||||
Internal API methods
|
||||
--------------------
|
||||
|
||||
The internal API is used here to maintain an in-memory JID→avatar hash
|
||||
cache.
|
||||
|
||||
.. glossary::
|
||||
|
||||
set_hash
|
||||
- **jid**: :class:`~.JID` of whom to retrieve the last activity
|
||||
- **node**: unused
|
||||
- **ifrom**: unused
|
||||
- **args**: ``str``, avatar hash
|
||||
|
||||
Set the avatar hash for a JID.
|
||||
|
||||
reset_hash
|
||||
- **jid**: :class:`~.JID` of whom to retrieve the last activity
|
||||
- **node**: unused
|
||||
- **ifrom**: :class:`~.JID` of the entity requesting the reset.
|
||||
- **args**: unused
|
||||
- **returns**
|
||||
information.
|
||||
|
||||
Reset the avatar hash for a JID. This downloads the vcard and computes
|
||||
the hash.
|
||||
|
||||
get_hash
|
||||
- **jid**: :class:`~.JID` of whom to retrieve the last activity
|
||||
- **node**: unused
|
||||
- **ifrom**: unused
|
||||
- **args**: unused
|
||||
- **returns**: ``Optional[str]``, the avatar hash
|
||||
|
||||
Get the avatar hash for a JID.
|
||||
|
||||
Stanza elements
|
||||
---------------
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0153.stanza
|
||||
:members:
|
||||
:undoc-members:
|
||||
|
@ -1,9 +0,0 @@
|
||||
|
||||
XEP-0163: Personal Eventing Protocol (PEP)
|
||||
==========================================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0163
|
||||
|
||||
.. autoclass:: XEP_0163
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
@ -1,18 +0,0 @@
|
||||
|
||||
XEP-0172: User Nickname
|
||||
=======================
|
||||
|
||||
.. 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: Message Delivery Receipts
|
||||
===================================
|
||||
|
||||
.. 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: Invisible Command
|
||||
===========================
|
||||
|
||||
.. 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: Blocking Command
|
||||
==========================
|
||||
|
||||
.. 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: User Gaming
|
||||
=====================
|
||||
|
||||
.. 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: Stream Management
|
||||
===========================
|
||||
|
||||
.. 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: XMPP Ping
|
||||
===================
|
||||
|
||||
.. 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: Entity Time
|
||||
=====================
|
||||
|
||||
.. 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: Delayed Delivery
|
||||
==========================
|
||||
|
||||
.. 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: Data Forms Media Element
|
||||
==================================
|
||||
|
||||
.. 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: Persistent Storage of Public Data via PubSub
|
||||
======================================================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0222
|
||||
|
||||
.. autoclass:: XEP_0222
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
@ -1,9 +0,0 @@
|
||||
|
||||
XEP-0223: Persistent Storage of Private Data via PubSub
|
||||
=======================================================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0223
|
||||
|
||||
.. autoclass:: XEP_0223
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
@ -1,18 +0,0 @@
|
||||
|
||||
XEP-0224: Attention
|
||||
===================
|
||||
|
||||
.. 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,53 +0,0 @@
|
||||
|
||||
XEP-0231: Bits of Binary
|
||||
========================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0231
|
||||
|
||||
.. autoclass:: XEP_0231
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
||||
|
||||
.. _api-0231:
|
||||
|
||||
Internal API methods
|
||||
--------------------
|
||||
|
||||
The default API handlers for this plugin manage an in-memory cache of
|
||||
bits of binary by content-id.
|
||||
|
||||
.. glossary::
|
||||
|
||||
set_bob
|
||||
- **jid**: :class:`~.JID` sending the bob
|
||||
- **node**: unused
|
||||
- **ifrom**: :class:`~JID` receiving the bob
|
||||
- **args**: :class:`~.BitsOfBinary` element.
|
||||
|
||||
Set a BoB in the cache.
|
||||
|
||||
get_bob
|
||||
- **jid**: :class:`~.JID` receiving the bob
|
||||
- **node**: unused
|
||||
- **ifrom**: :class:`~JID` sending the bob
|
||||
- **args**: ``str`` content-id of the bob
|
||||
- **returns**: :class:`~.BitsOfBinary` element.
|
||||
|
||||
Get a BoB from the cache.
|
||||
|
||||
del_bob
|
||||
- **jid**: unused
|
||||
- **node**: unused
|
||||
- **ifrom**: :class:`~JID` sending the bob
|
||||
- **args**: ``str`` content-id of the bob
|
||||
|
||||
Delete a BoB from the cache.
|
||||
|
||||
|
||||
Stanza elements
|
||||
---------------
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0231.stanza
|
||||
:members:
|
||||
:undoc-members:
|
||||
|
@ -1,18 +0,0 @@
|
||||
|
||||
XEP-0235: OAuth Over XMPP
|
||||
=========================
|
||||
|
||||
.. 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: Direct MUC Invitations
|
||||
================================
|
||||
|
||||
.. 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: Last Activity in Presence
|
||||
===================================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0256
|
||||
|
||||
.. autoclass:: XEP_0256
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
@ -1,18 +0,0 @@
|
||||
|
||||
XEP-0257: Client Certificate Management for SASL EXTERNAL
|
||||
=========================================================
|
||||
|
||||
.. 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:
|
||||
|
@ -1,18 +0,0 @@
|
||||
|
||||
XEP-0258: Security Labels in XMPP
|
||||
=================================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0258
|
||||
|
||||
.. autoclass:: XEP_0258
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
||||
|
||||
|
||||
Stanza elements
|
||||
---------------
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0258.stanza
|
||||
:members:
|
||||
:undoc-members:
|
||||
|
@ -1,18 +0,0 @@
|
||||
|
||||
XEP-0264: Jingle Content Thumbnails
|
||||
===================================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0264
|
||||
|
||||
.. autoclass:: XEP_0264
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
||||
|
||||
|
||||
Stanza elements
|
||||
---------------
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0264.stanza
|
||||
:members:
|
||||
:undoc-members:
|
||||
|
@ -1,18 +0,0 @@
|
||||
|
||||
XEP-0279: Server IP Check
|
||||
=========================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0279
|
||||
|
||||
.. autoclass:: XEP_0279
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
||||
|
||||
|
||||
Stanza elements
|
||||
---------------
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0279.stanza
|
||||
:members:
|
||||
:undoc-members:
|
||||
|
@ -1,18 +0,0 @@
|
||||
|
||||
XEP-0280: Message Carbons
|
||||
=========================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0280
|
||||
|
||||
.. autoclass:: XEP_0280
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
||||
|
||||
|
||||
Stanza elements
|
||||
---------------
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0280.stanza
|
||||
:members:
|
||||
:undoc-members:
|
||||
|
@ -1,17 +0,0 @@
|
||||
|
||||
XEP-0292: vCard4 Over XMPP
|
||||
==========================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0292
|
||||
|
||||
.. autoclass:: XEP_0292
|
||||
:members:
|
||||
:exclude-members: plugin_init, plugin_end
|
||||
|
||||
|
||||
Stanza elements
|
||||
---------------
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0292.stanza
|
||||
:members:
|
||||
:undoc-members:
|
@ -1,18 +0,0 @@
|
||||
|
||||
XEP-0297: Stanza Forwarding
|
||||
===========================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0297
|
||||
|
||||
.. autoclass:: XEP_0297
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
||||
|
||||
|
||||
Stanza elements
|
||||
---------------
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0297.stanza
|
||||
:members:
|
||||
:undoc-members:
|
||||
|
@ -1,18 +0,0 @@
|
||||
|
||||
XEP-0300: Use of Cryptographic Hash Functions in XMPP
|
||||
=====================================================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0300
|
||||
|
||||
.. autoclass:: XEP_0300
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
||||
|
||||
|
||||
Stanza elements
|
||||
---------------
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0300.stanza
|
||||
:members:
|
||||
:undoc-members:
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user