Mercurial > libervia-pubsub
view idavoll/xmpp_error.py @ 22:9b610962d045
Initial revision
author | Ralph Meijer <ralphm@ik.nu> |
---|---|
date | Wed, 06 Oct 2004 21:07:37 +0000 |
parents | 53b1bea9289b |
children | 5191ba7c4df8 |
line wrap: on
line source
NS_XMPP_STANZAS = "urn:ietf:params:xml:ns:xmpp-stanzas" conditions = { 'bad-request': {'code': '400', 'type': 'modify'}, 'not-authorized': {'code': '401', 'type': 'cancel'}, 'item-not-found': {'code': '404', 'type': 'cancel'}, 'not-acceptable': {'code': '406', 'type': 'modify'}, 'conflict': {'code': '409', 'type': 'cancel'}, 'internal-server-error': {'code': '500', 'type': 'wait'}, 'feature-not-implemented': {'code': '501', 'type': 'cancel'}, 'service-unavailable': {'code': '503', '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((NS_XMPP_STANZAS, condition), 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((NS_XMPP_STANZAS, "text"), NS_XMPP_STANZAS, text) return iq