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

Class Field

source code

                 object --+    
                          |    
objects.StanzaPayloadObject --+
                              |
                             Field

A data form field.
Instance Methods [hide private]
 
__init__(self, name=None, values=None, field_type=None, label=None, options=None, required=False, desc=None, value=None)
Initialize a Field object.
source code
 
__getattr__(self, name) source code
 
__setattr__(self, name, value)
x.__setattr__('name', value) <==> x.name = value
source code
 
add_option(self, value, label)
Add an option for the field.
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__, __sizeof__, __str__, __subclasshook__

Class Methods [hide private]
Field
_new_from_xml(cls, xmlnode)
Create a new Field object from an XML element.
source code
Class Variables [hide private]
unicode xml_element_name = 'field'
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.
  allowed_types = ('boolean', 'fixed', 'hidden', 'jid-multi', 'j...
Instance Variables [hide private]
unicode desc
natural-language description of the field.
unicode label
field label (human-readable description).
unicode name
field name.
Option options
field options (for "list-multi" or "list-single" fields).
boolean required
True when the field is required.
str type
field type ("boolean", "fixed", "hidden", "jid-multi", "jid-single", "list-multi", "list-single", "text-multi", "text-private" or "text-single").
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. value
field value parsed according to the form type.
list of unicode values
field values.
Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

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

source code 
Initialize a Field object.
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.
Overrides: object.__init__

__setattr__(self, name, value)

source code 

x.__setattr__('name', value) <==> x.name = value

Overrides: object.__setattr__
(inherited documentation)

add_option(self, value, label)

source code 
Add an option for the field.
Parameters:
  • value (list of unicode) - option values.
  • label (unicode) - option label (human-readable description).

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 Field object from an XML element.
Parameters:
  • xmlnode (libxml2.xmlNode) - the XML element.
Returns: Field
the object created.

Class Variable Details [hide private]

allowed_types

Value:
('boolean',
 'fixed',
 'hidden',
 'jid-multi',
 'jid-single',
 'list-multi',
 'list-single',
 'text-multi',
...