root/trunk/RBJabber/RBJabber/iqBrowseResponse.py

Revision 253, 1.8 kB (checked in by sholloway, 6 years ago)

Changed to BSD License

Line 
1 #!/usr/bin/env python
2 ##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 ##~ License
4 ##~
5 ##- The RuneBlade Foundation library is intended to ease some
6 ##- aspects of writing intricate Jabber, XML, and User Interface (wxPython, etc.)
7 ##- applications, while providing the flexibility to modularly change the
8 ##- architecture. Enjoy.
9 ##~
10 ##~ Copyright (C) 2002  TechGame Networks, LLC.
11 ##~
12 ##~ This library is free software; you can redistribute it and/or
13 ##~ modify it under the terms of the BSD style License as found in the
14 ##~ LICENSE file included with this distribution.
15 ##~
16 ##~ TechGame Networks, LLC can be reached at:
17 ##~ 3578 E. Hartsel Drive #211
18 ##~ Colorado Springs, Colorado, USA, 80920
19 ##~
20 ##~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
21
22 """Responds to jabber:iq:browse queries"""
23
24 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25 #~ Imports
26 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
27
28 from iqResponse import iqResponseBase
29 from xml.sax.saxutils import escape, quoteattr
30 import sys
31 import os
32  
33 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
34 #~ Definitions
35 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
36
37 class iqBrowseResponse(iqResponseBase):
38     def __init__(self, JC, BidValue=1):
39         iqResponseBase.__init__(self, JC, self.OnIQBrowseRequest, BidValue=BidValue)
40         self.AnswerQuery("jabber:iq:browse")
41
42     def OnIQBrowseRequest(self, subject, iq):
43         iq.to = iq.from_
44         del iq.from_
45         iq.type = 'result'
46        
47         strResult = ''.join(iq._toXML(bHeaderOnly=1))
48         strResult += '''<user xmlns='jabber:iq:browse' jid=%s name=%s >''' % (quoteattr(self.JC().information.jid), quoteattr(self.JC().information.username))
49         strResult += ''.join(['<ns>%s</ns>' % escape(ns) for ns in self.JC().SupportedNS])
50         strResult += '''</user></iq>'''
51
52         iq._client.SendXML(strResult)
Note: See TracBrowser for help on using the browser.