root/trunk/RBJabber/RBJabber/SubscribeApproveResponse.py

Revision 278, 1.6 kB (checked in by sholloway, 6 years ago)

*** empty log message ***

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 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
23 #~ Imports
24 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
25
26 import weakref
27 from xml.sax.saxutils import escape, quoteattr
28 import JabberObserver as JObs
29 import JID
30  
31 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32 #~ Definitions
33 #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
34
35 class SubscribeApproveResponse(JObs.JabberObserver):
36     def __init__(self, JC, BidValue=1):
37         JObs.JabberObserver.__init__(self, self.ApprovePresence, JObs.MatchAttributesRE(type='^(?:subscribe|unsubscribe)$'), BidValue)
38         JC.stream.AddObserver('presence', self)
39
40     def ApprovePresence(self, stream, presence):
41         presence.to = presence.from_
42         del presence.from_
43         presence.type += 'd' # set to subscribed/unsubscribed
44         presence._client.SendXML(presence._toXML())
45
Note: See TracBrowser for help on using the browser.