diff idavoll/xmpp_error.py @ 1:4cc41776b7d7

Initial revision
author Ralph Meijer <ralphm@ik.nu>
date Wed, 23 Jun 2004 14:31:49 +0000
parents
children 32e1561cd68e
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/idavoll/xmpp_error.py	Wed Jun 23 14:31:49 2004 +0000
@@ -0,0 +1,27 @@
+conditions = {
+	'not-authorized':			{'code': '401', 'type': 'cancel'},
+	'item-not-found':			{'code': '404', 'type': 'cancel'},
+	'feature-not-implemented':	{'code': '501', 'type': 'cancel'},
+}
+
+def error_from_iq(iq, condition, text = '', type = None):
+	iq.swapAttributeValues("to", "from")
+	iq["type"] = 'error'
+	e = iq.addElement("error")
+
+	c = e.addElement(condition)
+	c["xmlns"] = "urn:ietf:params:xml:ns:xmpp-stanzas"
+
+	if type == None:
+		type = conditions[condition]['type']
+
+	code = conditions[condition]['code']
+
+	e["code"] = code
+	e["type"] = type
+
+	if text:
+		t = e.addElement("text", None, text)
+		t["xmlns"] = "urn:ietf:params:xml:ns:xmpp-stanzas"
+
+	return iq