Package pyxmpp :: Module roster :: Class Roster
[show private | hide private]
[frames | no frames]

Type Roster

         object --+    
                  |    
StanzaPayloadObject --+
                      |
                     Roster


Class representing XMPP-IM roster.

Iteration over `Roster` object iterates over roster items.

:Ivariables:
    - `items_dict`: items indexed by JID.
:Properties:
    - `items`: roster items.
:Types:
    - `items_dict`: `dict` of `JID` -> `RosterItem`
    - `items`: `list` of `RosterItem`

Method Summary
  __init__(self, node, server, strict)
Initialize Roster object.
  __contains__(self, jid)
  __iter__(self)
  __str__(self)
  add_item(self, item_or_jid, subscription, name, groups, ask)
Add an item to the roster.
  complete_xml_element(self, xmlnode, doc)
Complete the XML node with `self` content.
  from_xml(self, node, strict)
Initialize Roster object from XML node.
  get_groups(self)
Return a list of groups in the roster.
  get_item_by_jid(self, jid)
Return roster item with given `jid`.
  get_items(self)
Return a list of items in the roster.
  get_items_by_group(self, group, case_sensitive)
Return a list of groups with given name.
  get_items_by_name(self, name, case_sensitive)
Return a list of items with given `name`.
  remove_item(self, jid)
Remove item from the roster.
  update(self, query)
Apply an update request to the roster.
    Inherited from StanzaPayloadObject
  as_xml(self, parent, doc)
Get the XML representation of `self`.
    Inherited from object
  __delattr__(...)
x.__delattr__('name') <==> del x.name
  __getattribute__(...)
x.__getattribute__('name') <==> x.name
  __hash__(x)
x.__hash__() <==> hash(x)
  __new__(T, S, ...)
T.__new__(S, ...) -> a new object with type S, a subtype of T
  __reduce__(...)
helper for pickle
  __reduce_ex__(...)
helper for pickle
  __repr__(x)
x.__repr__() <==> repr(x)
  __setattr__(...)
x.__setattr__('name', value) <==> x.name = value

Property Summary
  items

Class Variable Summary
str xml_element_name = 'query'
str xml_element_namespace = 'jabber:iq:roster'

Method Details

__init__(self, node=None, server=False, strict=True)
(Constructor)

Initialize Roster object.

`node` should be an XML representation of the roster (e.g. as sent
from server in response to roster request).  When `node` is None empty
roster will be created.

If `server` is true the object is considered server-side roster.

If `strict` is False, than invalid items in the XML will be ignored.
Overrides:
__builtin__.object.__init__

add_item(self, item_or_jid, subscription='none', name=None, groups=(), ask=None)

Add an item to the roster.

The `item_or_jid` argument may be a `RosterItem` object or a `JID`. If
it is a JID then `subscription`, `name`, `groups` and `ask` may also be
specified.

complete_xml_element(self, xmlnode, doc)

Complete the XML node with `self` content.

Should be overriden in classes derived from `StanzaPayloadObject`.

:Parameters:
    - `xmlnode`: XML node with the element being built. It has already
      right name and namespace, but no attributes or content.
    - `doc`: document to which the element belongs.
:Types:
    - `xmlnode`: `libxml2.xmlNode`
    - `doc`: `libxml2.xmlDoc`
Overrides:
pyxmpp.objects.StanzaPayloadObject.complete_xml_element

from_xml(self, node, strict=True)

Initialize Roster object from XML node.

If `strict` is False, than invalid items in the XML will be ignored.

get_groups(self)

Return a list of groups in the roster.

get_item_by_jid(self, jid)

Return roster item with given `jid`.

:raise KeyError: if the item is not found.

get_items(self)

Return a list of items in the roster.

get_items_by_group(self, group, case_sensitive=True)

Return a list of groups with given name.

If `case_sensitive` is False the matching will be case insensitive.

get_items_by_name(self, name, case_sensitive=True)

Return a list of items with given `name`.

If `case_sensitive` is False the matching will be case insensitive.

remove_item(self, jid)

Remove item from the roster.

update(self, query)

Apply an update request to the roster.

`query` should be a query included in a "roster push" IQ received.

Property Details

items

Get Method:
get_items(self)

Class Variable Details

xml_element_name

Type:
str
Value:
'query'                                                                

xml_element_namespace

Type:
str
Value:
'jabber:iq:roster'                                                     

Generated by Epydoc 2.1 on Wed May 31 22:36:58 2006 http://epydoc.sf.net