slidge.core.pubsub#

Module Contents#

Classes#

Functions#

_add_or_extend_allowed_jids(jid, store, item)

Attributes#

slidge.core.pubsub.VCARD4_NAMESPACE = 'urn:xmpp:vcard4'[source]#
class slidge.core.pubsub.PepItem(authorized_jids=None)[source]#
Parameters:

authorized_jids (Optional[set[slixmpp.types.JidStr]]) –

class slidge.core.pubsub.PepAvatar(authorized_jids=None)[source]#

Bases: PepItem

Parameters:

authorized_jids (Optional[set[slixmpp.types.JidStr]]) –

property data: slixmpp.plugins.xep_0084.Data | None[source]#
Return type:

Optional[slixmpp.plugins.xep_0084.Data]

static _sha(b)[source]#
Parameters:

b (bytes) –

_get_weak_unique_id(avatar)[source]#
Parameters:

avatar (slidge.util.types.AvatarType) –

async static _get_image(avatar)[source]#
Parameters:

avatar (slidge.util.types.AvatarType) –

async set_avatar(avatar, unique_id=None)[source]#
Parameters:
  • avatar (slidge.util.types.AvatarType) –

  • unique_id (Optional[Union[int, str]]) –

async _set_avatar_from_unique_id(avatar, unique_id)[source]#
Parameters:
  • avatar (slidge.util.types.AvatarType) –

  • unique_id (str) –

async _set_avatar_from_url_alone(url)[source]#
Parameters:

url (str) –

async _set_avatar_from_cache(cached_avatar)[source]#
Parameters:

cached_avatar (slidge.core.cache.CachedAvatar) –

class slidge.core.pubsub.PepNick(authorized_jids=None, nick=None)[source]#

Bases: PepItem

Parameters:
  • authorized_jids (Optional[set[slixmpp.types.JidStr]]) –

  • nick (Optional[str]) –

class slidge.core.pubsub.PubSubComponent(*a, **kw)[source]#

Bases: slixmpp.plugins.base.BasePlugin

xmpp: slidge.BaseGateway[source]#
name = 'pubsub'[source]#
description = 'Pubsub component'[source]#
dependencies[source]#
default_config[source]#
component_name: str[source]#
plugin_init()[source]#

Initialize plugin state, such as registering event handlers.

async _on_presence_available(p)[source]#
Parameters:

p (slixmpp.Presence) –

async broadcast_vcard_event(from_, to)[source]#
static _get_authorized_item(store, stanza)[source]#
Parameters:
  • store (dict[slixmpp.JID, slidge.util.types.PepItemType]) –

  • stanza (Union[slixmpp.Iq, slixmpp.Presence]) –

Return type:

slidge.util.types.PepItemType

_get_authorized_avatar(stanza)[source]#
Parameters:

stanza (Union[slixmpp.Iq, slixmpp.Presence]) –

_get_authorized_nick(stanza)[source]#
Parameters:

stanza (Union[slixmpp.Iq, slixmpp.Presence]) –

async _get_avatar_data(iq)[source]#
Parameters:

iq (slixmpp.Iq) –

async _get_avatar_metadata(iq)[source]#
Parameters:

iq (slixmpp.Iq) –

async _get_vcard(iq)[source]#
Parameters:

iq (slixmpp.Iq) –

get_avatar(jid)[source]#
Parameters:

jid (slixmpp.types.JidStr) –

static _reply_with_payload(iq, payload, id_, namespace=None)[source]#
Parameters:
  • iq (slixmpp.Iq) –

  • payload (Union[slixmpp.plugins.xep_0084.MetaData, slixmpp.plugins.xep_0084.Data, slidge.util.xep_0292.stanza.VCard4]) –

  • id_ (str) –

  • namespace (Optional[str]) –

async _broadcast(data, from_, to=None, **kwargs)[source]#
Parameters:
  • from_ (slixmpp.types.JidStr) –

  • to (slixmpp.types.OptJidStr) –

async set_avatar(jid, avatar=None, restrict_to=None, unique_id=None)[source]#
Parameters:
  • jid (slixmpp.types.JidStr) –

  • avatar (Optional[slidge.util.types.AvatarType]) –

  • restrict_to (slixmpp.types.OptJidStr) –

set_nick(jid, nick=None, restrict_to=None)[source]#
Parameters:
  • jid (slixmpp.types.JidStr) –

  • nick (Optional[str]) –

  • restrict_to (slixmpp.types.OptJidStr) –

async broadcast_all(from_, to)[source]#

Force push avatar and nick for a stored JID.

Parameters:
  • from_ (slixmpp.JID) –

  • to (slixmpp.JID) –

slidge.core.pubsub._add_or_extend_allowed_jids(jid, store, item)[source]#
Parameters:
  • jid (slixmpp.JID) –

  • store (dict[slixmpp.JID, slidge.util.types.PepItemType]) –

  • item (slidge.util.types.PepItemType) –

slidge.core.pubsub.log[source]#