Package pyxmpp :: Module error :: Class ErrorNode
[hide private]

Class ErrorNode

source code

Known Subclasses:

Base class for both XMPP stream and stanza errors
Instance Methods [hide private]
 
__init__(self, xmlnode_or_cond, ns=None, copy=True, parent=None)
Initialize an ErrorNode object.
source code
 
__from_xml(self, xmlnode, ns, copy, parent)
Initialize an ErrorNode object from an XML node.
source code
 
__del__(self) source code
 
free(self)
Free the associated XML node.
source code
 
free_borrowed(self)
Free the associated "borrowed" XML node.
source code
bool
is_legacy(self)
Check if the error node is a legacy error element.
source code
 
xpath_eval(self, expr, namespaces=None)
Evaluate XPath expression on the error element.
source code
libxml2.xmlNode
get_condition(self, ns=None)
Get the condition element of the error.
source code
unicode
get_text(self)
Get the description text from the error element.
source code
libxml2.xmlNode
add_custom_condition(self, ns, cond, content=None)
Add custom condition element to the error.
source code
 
upgrade(self)
Upgrade a legacy error element to the XMPP compliant one.
source code
 
downgrade(self)
Downgrade an XMPP error element to the legacy format.
source code
str
serialize(self)
Serialize the element node.
source code
Method Details [hide private]

__init__(self, xmlnode_or_cond, ns=None, copy=True, parent=None)
(Constructor)

source code 
Initialize an ErrorNode object.
Parameters:
  • xmlnode_or_cond (: libxml2.xmlNode or unicode) - : XML node to be wrapped into this object or error condition name.
  • ns (: unicode) - : XML namespace URI of the error condition element (to be used when the provided node has no namespace).
  • copy (: bool) - : When True then the XML node will be copied, otherwise it is only borrowed.
  • parent (: libxml2.xmlNode) - : Parent node for the XML node to be copied or created.

__from_xml(self, xmlnode, ns, copy, parent)

source code 
Initialize an ErrorNode object from an XML node.
Parameters:
  • xmlnode (: libxml2.xmlNode) - : XML node to be wrapped into this object.
  • ns (: unicode) - : XML namespace URI of the error condition element (to be used when the provided node has no namespace).
  • copy (: bool) - : When True then the XML node will be copied, otherwise it is only borrowed.
  • parent (: libxml2.xmlNode) - : Parent node for the XML node to be copied or created.

is_legacy(self)

source code 
Check if the error node is a legacy error element.
Returns: bool
True if it is a legacy error.

xpath_eval(self, expr, namespaces=None)

source code 

Evaluate XPath expression on the error element.

The expression will be evaluated in context where the common namespace (the one used for stanza elements, mapped to 'jabber:client', 'jabber:server', etc.) is bound to prefix "ns" and other namespaces are bound accordingly to the namespaces list.

Parameters:
  • expr (: unicode) - : the XPath expression.
  • namespaces (: dict) - : prefix to namespace mapping.
Returns:
the result of the expression evaluation.

get_condition(self, ns=None)

source code 
Get the condition element of the error.
Parameters:
  • ns (: unicode) - : namespace URI of the condition element if it is not the XMPP namespace of the error element.
Returns: libxml2.xmlNode
the condition element or None.

get_text(self)

source code 
Get the description text from the error element.
Returns: unicode
the text provided with the error or None.

add_custom_condition(self, ns, cond, content=None)

source code 
Add custom condition element to the error.
Parameters:
  • ns (: unicode) - : namespace URI.
  • cond (: unicode) - : condition name.
  • content (: unicode) - : content of the element.
Returns: libxml2.xmlNode
the new condition element.

upgrade(self)

source code 

Upgrade a legacy error element to the XMPP compliant one.

Use the error code provided to select the condition and the <error/> CDATA for the error text.

downgrade(self)

source code 

Downgrade an XMPP error element to the legacy format.

Add a numeric code attribute according to the condition name.

serialize(self)

source code 
Serialize the element node.
Returns: str
serialized element in UTF-8 encoding.