Package pyxmpp :: Package jabber :: Module dataforms :: Class Item
[hide private]

Class Item

source code

                 object --+    
                          |    
objects.StanzaPayloadObject --+
                              |
                             Item

An item of multi-item form data (e.g. a search result).

Additionally to the direct access to the contained fields via the fields attribute, Item object provides an iterator and mapping interface for field access. E.g.:

for field in item:
    ...

or:

field = item['field_name']

or:

if 'field_name' in item:
    ...
Instance Methods [hide private]
 
__init__(self, fields=None)
Initialize an Item object.
source code
 
__getitem__(self, name_or_index) source code
 
__contains__(self, name) source code
 
__iter__(self) source code
Field
add_field(self, name=None, values=None, field_type=None, label=None, options=None, required=False, desc=None, value=None)
Add a field to the item.
source code
 
complete_xml_element(self, xmlnode, doc)
Complete the XML node with self content.
source code

Inherited from objects.StanzaPayloadObject: as_xml

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Methods [hide private]
Item
_new_from_xml(cls, xmlnode)
Create a new Item object from an XML element.
source code
Class Variables [hide private]
: unicode xml_element_name = 'item'
: name for the XML element provided by the class.
: unicode xml_element_namespace = 'jabber:x:data'
: namespace URI for the XML element provided by the class.
Instance Variables [hide private]
: list of Field. fields
: the fields of the item.
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, fields=None)
(Constructor)

source code 
Initialize an Item object.
Parameters:
  • fields (: list of Field.) - : item fields.
Overrides: object.__init__

add_field(self, name=None, values=None, field_type=None, label=None, options=None, required=False, desc=None, value=None)

source code 
Add a field to the item.
Parameters:
  • name (: unicode) - : field name.
  • values (: list of unicode) - : raw field values. Not to be used together with value.
  • field_type (: str) - : field type.
  • label (: unicode) - : field label.
  • options (: list of Option) - : optional values for the field.
  • required (: bool) - : True if the field is required.
  • desc (: unicode) - : natural-language description of the field.
  • value (: bool for "boolean" field, JID for "jid-single", list of JID for "jid-multi", list of unicode for "list-multi" and "text-multi" and unicode for other field types.) - : field value or values in a field_type-specific type. May be used only if values parameter is not provided.
Returns: Field
the field added.

complete_xml_element(self, xmlnode, doc)

source code 
Complete the XML node with self content.
Parameters:
  • xmlnode (: libxml2.xmlNode) - : XML node with the element being built. It has already right name and namespace, but no attributes or content.
  • doc (: libxml2.xmlDoc) - : document to which the element belongs.
Overrides: objects.StanzaPayloadObject.complete_xml_element

_new_from_xml(cls, xmlnode)
Class Method

source code 
Create a new Item object from an XML element.
Parameters:
  • xmlnode (: libxml2.xmlNode) - : the XML element.
Returns: Item
the object created.