File: __init__.py

package info (click to toggle)
python-aioxmpp 0.12.2-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 6,152 kB
  • sloc: python: 96,969; xml: 215; makefile: 155; sh: 72
file content (91 lines) | stat: -rw-r--r-- 2,796 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
########################################################################
# File name: __init__.py
# This file is part of: aioxmpp
#
# LICENSE
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this program.  If not, see
# <http://www.gnu.org/licenses/>.
#
########################################################################
"""
:mod:`~aioxmpp.avatar` --- User avatar support (:xep:`0084`)
############################################################

This module provides support for publishing and retrieving user
avatars as per :xep:`User Avatar <84>`.

Services
========

The following service is provided by this subpackage:

.. currentmodule:: aioxmpp

.. autosummary::

   AvatarService

The detailed documentation of the classes follows:

.. autoclass:: AvatarService()

.. currentmodule:: aioxmpp.avatar

Data Representation
===================

The following class is used to describe the possible locations of an
avatar image:

.. autoclass:: AvatarSet

.. module:: aioxmpp.avatar.service
.. currentmodule:: aioxmpp.avatar.service
.. autoclass:: AbstractAvatarDescriptor()

.. currentmodule:: aioxmpp.avatar

Helpers
=======

.. autofunction:: normalize_id

How to work with avatar descriptors
===================================

.. currentmodule:: aioxmpp.avatar.service

One you have retrieved the avatar descriptor list, the correct way to
handle it in the application:

1. Select the avatar you prefer based on the
   :attr:`~AbstractAvatarDescriptor.can_get_image_bytes_via_xmpp`, and
   metadata information (:attr:`~AbstractAvatarDescriptor.mime_type`,
   :attr:`~AbstractAvatarDescriptor.width`,
   :attr:`~AbstractAvatarDescriptor.height`,
   :attr:`~AbstractAvatarDescriptor.nbytes`). If you cache avatar
   images it might be a good choice to choose an avatar image you
   already have cached based on
   :attr:`~AbstractAvatarDescriptor.normalized_id`.

2. If :attr:`~AbstractAvatarDescriptor.can_get_image_bytes_via_xmpp`
   is true, try to retrieve the image by
   :attr:`~AbstractAvatarDescriptor.get_image_bytes()`; if it is false
   try to retrieve the object at the URL
   :attr:`~AbstractAvatarDescriptor.url`.
"""

from .service import (AvatarSet, AvatarService,  # NOQA: F401
                      normalize_id)