Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4512248901 |
@@ -1,13 +0,0 @@
|
||||
################ Please use Gitlab instead of Github ###################################
|
||||
|
||||
Hello, thank you for contributing to slixmpp!
|
||||
|
||||
You’re about to open a pull request on github. However this github repository is not the official place for contributions on slixmpp.
|
||||
|
||||
Please open your merge request on https://lab.louiz.org/poezio/slixmpp/
|
||||
|
||||
You should be able to log in there with your github credentials, clone the slixmpp repository in your namespace, push your existing pull request into a new branch, and then open a merge request with one click, within 3 minutes.
|
||||
|
||||
This will help us review your contribution, avoid spreading things everywhere and it will even run the tests automatically with your changes.
|
||||
|
||||
Thank you.
|
||||
@@ -13,5 +13,3 @@ slixmpp.egg-info/
|
||||
.baboon/
|
||||
.DS_STORE
|
||||
.idea/
|
||||
.vscode/
|
||||
venv/
|
||||
@@ -1,70 +0,0 @@
|
||||
stages:
|
||||
- lint
|
||||
- test
|
||||
- trigger
|
||||
|
||||
mypy:
|
||||
stage: lint
|
||||
tags:
|
||||
- docker
|
||||
image: python:3
|
||||
script:
|
||||
- pip3 install mypy
|
||||
- mypy slixmpp
|
||||
|
||||
test:
|
||||
stage: test
|
||||
tags:
|
||||
- docker
|
||||
image: ubuntu:latest
|
||||
script:
|
||||
- apt update
|
||||
- apt install -y python3 python3-pip cython3 gpg
|
||||
- pip3 install emoji aiohttp
|
||||
- ./run_tests.py
|
||||
|
||||
test-3.10:
|
||||
stage: test
|
||||
tags:
|
||||
- docker
|
||||
image: python:3.10
|
||||
script:
|
||||
- apt update
|
||||
- apt install -y python3 python3-pip cython3 gpg
|
||||
- pip3 install emoji aiohttp
|
||||
- ./run_tests.py
|
||||
|
||||
test-3.11:
|
||||
stage: test
|
||||
tags:
|
||||
- docker
|
||||
image: python:3.11-rc
|
||||
allow_failure: true
|
||||
script:
|
||||
- apt update
|
||||
- apt install -y python3 python3-pip cython3 gpg
|
||||
- pip3 install emoji aiohttp
|
||||
- ./run_tests.py
|
||||
|
||||
test_integration:
|
||||
stage: test
|
||||
tags:
|
||||
- docker
|
||||
image: ubuntu:latest
|
||||
only:
|
||||
variables:
|
||||
- $CI_ACCOUNT1
|
||||
- $CI_ACCOUNT2
|
||||
script:
|
||||
- apt update
|
||||
- apt install -y python3 python3-pip cython3 gpg
|
||||
- pip3 install emoji aiohttp aiodns
|
||||
- ./run_integration_tests.py
|
||||
|
||||
trigger_poezio:
|
||||
stage: trigger
|
||||
tags:
|
||||
- docker
|
||||
image: curlimages/curl:7.79.1
|
||||
script:
|
||||
- curl --request POST -F token="$SLIXMPP_TRIGGER_TOKEN" -F ref=master https://lab.louiz.org/api/v4/projects/18/trigger/pipeline
|
||||
+5
-2
@@ -1,7 +1,10 @@
|
||||
language: python
|
||||
python:
|
||||
- "3.7"
|
||||
- "3.8-dev"
|
||||
- "2.6"
|
||||
- "2.7"
|
||||
- "3.2"
|
||||
- "3.3"
|
||||
- "3.4"
|
||||
install:
|
||||
- "pip install ."
|
||||
script: testall.py
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
Contributing to the Slixmpp project
|
||||
===================================
|
||||
|
||||
To contribute, the preferred way is to commit your changes on some
|
||||
publicly-available git repository (on a fork `on github
|
||||
<https://github.com/poezio/slixmpp>`_ or on your own repository) and to
|
||||
notify the developers with either:
|
||||
- a ticket `on the bug tracker <https://lab.louiz.org/poezio/slixmpp/issues/new>`_
|
||||
- a pull request on github
|
||||
- a simple message on `the XMPP MUC <xmpp:slixmpp@muc.poez.io>`_
|
||||
|
||||
Even though Slixmpp’s github repository is just a read-only mirror, we can
|
||||
still be notified of the pull requests and fetch your mirror manually to
|
||||
integrate your changes.
|
||||
@@ -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
|
||||
|
||||
@@ -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.
|
||||
|
||||
+4
-38
@@ -1,22 +1,13 @@
|
||||
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
|
||||
socket handling, the timers, the events dispatching) in order to remove all
|
||||
threads.
|
||||
|
||||
Building
|
||||
--------
|
||||
|
||||
Slixmpp can make use of cython to improve performance on critical modules.
|
||||
To do that, **cython3** is necessary along with **libidn** headers.
|
||||
Otherwise, no compilation is needed. Building is done by running setup.py::
|
||||
|
||||
python3 setup.py build_ext --inplace
|
||||
|
||||
Documentation and Testing
|
||||
-------------------------
|
||||
Documentation can be found both inline in the code, and as a Sphinx project in ``/docs``.
|
||||
@@ -31,27 +22,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
|
||||
@@ -117,18 +93,8 @@ Slixmpp projects::
|
||||
Slixmpp Credits
|
||||
---------------
|
||||
|
||||
**Maintainers:**
|
||||
- Florent Le Coz (`louiz@louiz.org <xmpp:louiz@louiz.org?message>`_),
|
||||
- Mathieu Pasquet (`mathieui@mathieui.net <xmpp:mathieui@mathieui.net?message>`_),
|
||||
|
||||
**Contributors:**
|
||||
- Emmanuel Gil Peyrot (`Link mauve <xmpp:linkmauve@linkmauve.fr?message>`_)
|
||||
- Sam Whited (`Sam Whited <mailto:sam@samwhited.com>`_)
|
||||
- Dan Sully (`Dan Sully <mailto:daniel@electricalrain.com>`_)
|
||||
- Gasper Zejn (`Gasper Zejn <mailto:zejn@kiberpipa.org>`_)
|
||||
- Krzysztof Kotlenga (`Krzysztof Kotlenga <mailto:pocek@users.sf.net>`_)
|
||||
- Tsukasa Hiiragi (`Tsukasa Hiiragi <mailto:bakalolka@gmail.com>`_)
|
||||
- Maxime Buquet (`pep <xmpp:pep@bouah.net?message>`_)
|
||||
**Maintainer of the slixmpp fork:** Florent Le Coz
|
||||
`louiz@louiz.org <xmpp:louiz@louiz.org?message>`_,
|
||||
|
||||
Credits (SleekXMPP)
|
||||
-------------------
|
||||
|
||||
Vendored
+452
@@ -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;
|
||||
}
|
||||
Vendored
+532
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Vendored
+256
@@ -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
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Vendored
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
Vendored
+431
@@ -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;
|
||||
}
|
||||
Vendored
BIN
Binary file not shown.
|
After Width: | Height: | Size: 16 KiB |
Vendored
+70
@@ -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 */
|
||||
Vendored
+245
@@ -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;
|
||||
}
|
||||
Vendored
BIN
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
Vendored
+70
@@ -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 */
|
||||
Vendored
+339
@@ -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;
|
||||
}
|
||||
Vendored
+70
@@ -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,96 +0,0 @@
|
||||
Plugin index
|
||||
============
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 2
|
||||
|
||||
xep_0004
|
||||
xep_0009
|
||||
xep_0012
|
||||
xep_0013
|
||||
xep_0020
|
||||
xep_0027
|
||||
xep_0030
|
||||
xep_0033
|
||||
xep_0045
|
||||
xep_0047
|
||||
xep_0049
|
||||
xep_0050
|
||||
xep_0054
|
||||
xep_0059
|
||||
xep_0060
|
||||
xep_0065
|
||||
xep_0066
|
||||
xep_0070
|
||||
xep_0071
|
||||
xep_0077
|
||||
xep_0079
|
||||
xep_0080
|
||||
xep_0082
|
||||
xep_0084
|
||||
xep_0085
|
||||
xep_0086
|
||||
xep_0092
|
||||
xep_0106
|
||||
xep_0107
|
||||
xep_0108
|
||||
xep_0115
|
||||
xep_0118
|
||||
xep_0122
|
||||
xep_0128
|
||||
xep_0131
|
||||
xep_0133
|
||||
xep_0152
|
||||
xep_0153
|
||||
xep_0163
|
||||
xep_0172
|
||||
xep_0184
|
||||
xep_0186
|
||||
xep_0191
|
||||
xep_0196
|
||||
xep_0198
|
||||
xep_0199
|
||||
xep_0202
|
||||
xep_0203
|
||||
xep_0221
|
||||
xep_0222
|
||||
xep_0223
|
||||
xep_0224
|
||||
xep_0231
|
||||
xep_0235
|
||||
xep_0249
|
||||
xep_0256
|
||||
xep_0257
|
||||
xep_0258
|
||||
xep_0279
|
||||
xep_0280
|
||||
xep_0297
|
||||
xep_0300
|
||||
xep_0308
|
||||
xep_0313
|
||||
xep_0319
|
||||
xep_0332
|
||||
xep_0333
|
||||
xep_0334
|
||||
xep_0335
|
||||
xep_0352
|
||||
xep_0353
|
||||
xep_0356
|
||||
xep_0359
|
||||
xep_0363
|
||||
xep_0369
|
||||
xep_0377
|
||||
xep_0380
|
||||
xep_0394
|
||||
xep_0403
|
||||
xep_0404
|
||||
xep_0405
|
||||
xep_0421
|
||||
xep_0422
|
||||
xep_0424
|
||||
xep_0425
|
||||
xep_0428
|
||||
xep_0437
|
||||
xep_0439
|
||||
xep_0441
|
||||
xep_0444
|
||||
@@ -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,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-0106: 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-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,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:
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
|
||||
XEP-0308: Last Message Correction
|
||||
=================================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0308
|
||||
|
||||
.. autoclass:: XEP_0308
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
||||
|
||||
|
||||
Stanza elements
|
||||
---------------
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0308.stanza
|
||||
:members:
|
||||
:undoc-members:
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
|
||||
XEP-0313: Message Archive Management
|
||||
====================================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0313
|
||||
|
||||
.. autoclass:: XEP_0313
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
||||
|
||||
|
||||
Stanza elements
|
||||
---------------
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0313.stanza
|
||||
:members:
|
||||
:member-order: bysource
|
||||
:undoc-members:
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
|
||||
XEP-0319: Last User Interaction in Presence
|
||||
===========================================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0319
|
||||
|
||||
.. autoclass:: XEP_0319
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
||||
|
||||
|
||||
.. _api-0319:
|
||||
|
||||
Internal API methods
|
||||
--------------------
|
||||
|
||||
The default API manages an in-memory cache of idle periods.
|
||||
|
||||
.. glossary::
|
||||
|
||||
set_idle
|
||||
- **jid**: :class:`~.JID` who has been idling
|
||||
- **node**: unused
|
||||
- **ifrom**: unused
|
||||
- **args**: :class:`datetime`, timestamp of the idle start
|
||||
|
||||
Set the idle start for a JID.
|
||||
|
||||
get_idle
|
||||
- **jid**: :class:`~.JID` to get the idle time of
|
||||
- **node**: unused
|
||||
- **ifrom**: unused
|
||||
- **args**: : unused
|
||||
- **returns**: :class:`datetime`
|
||||
|
||||
Get the idle start timestamp for a JID.
|
||||
|
||||
|
||||
Stanza elements
|
||||
---------------
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0319.stanza
|
||||
:members:
|
||||
:undoc-members:
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
|
||||
XEP-0332: HTTP over XMPP transport
|
||||
==================================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0332
|
||||
|
||||
.. autoclass:: XEP_0332
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
||||
|
||||
|
||||
Stanza elements
|
||||
---------------
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0332.stanza.data
|
||||
:members:
|
||||
:undoc-members:
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0332.stanza.request
|
||||
:members:
|
||||
:undoc-members:
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0332.stanza.response
|
||||
:members:
|
||||
:undoc-members:
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
|
||||
XEP-0333: Chat Markers
|
||||
======================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0333
|
||||
|
||||
.. autoclass:: XEP_0333
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
||||
|
||||
|
||||
Stanza elements
|
||||
---------------
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0333.stanza
|
||||
:members:
|
||||
:undoc-members:
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
|
||||
XEP-0334: Message Processing Hints
|
||||
==================================
|
||||
|
||||
.. module:: slixmpp.plugins.xep_0334
|
||||
|
||||
.. autoclass:: XEP_0334
|
||||
:members:
|
||||
:exclude-members: session_bind, plugin_init, plugin_end
|
||||
|
||||
|
||||
Stanza elements
|
||||
---------------
|
||||
|
||||
.. automodule:: slixmpp.plugins.xep_0334.stanza
|
||||
:members:
|
||||
:undoc-members:
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user