Package nbxmpp :: Module protocol :: Class DataForm

[hide private]
[frames] | no frames]

# Class DataForm

source code

Used for manipulating dataforms in XMPP

Relevant XEPs: 0004, 0068, 0122. Can be used in disco, pub-sub and many other applications.

Instance Methods | [hide private]

__init__(self, typ=None, data=`[``]`, title=None, node=None) Create new dataform of type 'typ'. 'data' is the list of DataField instances that this dataform contains, 'title' - the title string. You can specify the 'node' argument as the other node to be used as base for constructing this dataform | source code

getType(self) Return the type of dataform | source code

setType(self, typ) Set the type of dataform | source code

getTitle(self) Return the title of dataform | source code

setTitle(self, text) Set the title of dataform | source code

getInstructions(self) Return the instructions of dataform | source code

setInstructions(self, text) Set the instructions of dataform | source code

addInstructions(self, text) Add one more instruction to the dataform | source code

getField(self, name) Return the datafield object with name 'name' (if exists) | source code

setField(self, name) Create if nessessary or get the existing datafield object with name 'name' and return it | source code

asDict(self) Represent dataform as simple dictionary mapping of datafield names to their values | source code

__getitem__(self, name) Simple dictionary interface for getting datafields values by their names | source code

__setitem__(self, name, val) Simple dictionary interface for setting datafields values by their names | source code

Inherited from `simplexml.Node`: `__contains__`, `__delitem__`, `__getattr__`, `__str__`, `addChild`, `addData`, `clearData`, `delAttr`, `delChild`, `getAttr`, `getAttrs`, `getChildren`, `getData`, `getName`, `getNamespace`, `getParent`, `getPayload`, `getTag`, `getTagAttr`, `getTagData`, `getTags`, `has_attr`, `iterTags`, `lookup_nsp`, `setAttr`, `setData`, `setName`, `setNamespace`, `setParent`, `setPayload`, `setTag`, `setTagAttr`, `setTagData`

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

Class Variables | [hide private]

Inherited from `simplexml.Node`: `FORCE_NODE_RECREATION`

Properties | [hide private]

Inherited from `object`: `__class__`

Method Details | [hide private]

### __init__(self, typ=None, data=`[``]`, title=None, node=None)
(Constructor)

source code

Create new dataform of type 'typ'. 'data' is the list of DataField instances that this dataform contains, 'title' - the title string. You can specify the 'node' argument as the other node to be used as base for constructing this dataform

title and instructions is optional and SHOULD NOT contain newlines. Several instructions MAY be present. 'typ' can be one of ('form' | 'submit' | 'cancel' | 'result' ) 'typ' of reply iq can be ( 'result' | 'set' | 'set' | 'result' ) respectively. 'cancel' form can not contain any fields. All other forms contains AT LEAST one field. 'title' MAY be included in forms of type "form" and "result"

Overrides: object.__init__

### getType(self)

source code

Return the type of dataform

### setType(self, typ)

source code

Set the type of dataform

### getTitle(self)

source code

Return the title of dataform

### setTitle(self, text)

source code

Set the title of dataform

### getInstructions(self)

source code

Return the instructions of dataform

### setInstructions(self, text)

source code

Set the instructions of dataform

### addInstructions(self, text)

source code

Add one more instruction to the dataform

### getField(self, name)

source code

Return the datafield object with name 'name' (if exists)

### setField(self, name)

source code

Create if nessessary or get the existing datafield object with name 'name' and return it

### asDict(self)

source code

Represent dataform as simple dictionary mapping of datafield names to their values

### __getitem__(self, name)
(Indexing operator)

source code

Simple dictionary interface for getting datafields values by their names

Overrides: simplexml.Node.__getitem__

### __setitem__(self, name, val)
(Index assignment operator)

source code

Simple dictionary interface for setting datafields values by their names

Overrides: simplexml.Node.__setitem__