Changeset 55

Show
Ignore:
Timestamp:
03/09/02 23:33:58 (6 years ago)
Author:
sholloway
Message:

*** empty log message ***

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/RBJabber/RBJabber/Client.py

    r53 r55  
    9191    def __init__(self, *args, **kw): 
    9292        self.stream = SubjectObserver.BidableCategorySubject() 
     93        self.information = SubjectObserver.AttributedSubject() 
    9394        apply(Base.Client.__init__, (self,) + args, kw) 
    9495         
  • trunk/RBJabber/RBJabber/Test.py

    r53 r55  
    3939    print 
    4040 
    41 def _printAuth(subject, name, value): 
     41def _printAuth(subject, UpdateDict): 
    4242    print 
    4343    print "Authenticated" 
  • trunk/RBJabber/RBJabber/iqAuthQuery.py

    r53 r55  
    77import sha 
    88from xml.sax.saxutils import escape, quoteattr 
    9 from iqQuery import iqQueryBase 
     9from iqQuery import iqQueryBase, Subject 
    1010  
    1111#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    2929        xmlAuthInfo = '<username>%s</username><digest>%s</digest><resource>%s</resource>' % (username, digest, resource) 
    3030 
    31         self.JC().CurrentAuthorized = 0 
    32         self.JC().CurrentUsername = username 
    33         self.JC().CurrentResource = resource 
    34         self.JC().CurrentJID = '%s@%s/%s' % (username, self.JC().ServerJID, resource) 
     31        self.JC().information.authorized = 0 
     32        self.JC().information.username = username 
     33        self.JC().information.resource = resource 
     34        self.JC().information.jid = '%s@%s/%s' % (username, self.JC().ServerJID, resource) 
    3535         
    3636        self.idQuery = self.JC()._GetNextID() 
     
    4949        iq = UpdateDict['iq'] 
    5050        if iq.type == 'result': 
    51             self.JC().CurrentAuthorized = 1 
     51            self.JC().information.authorized = 1 
    5252        self._SetLink(0) 
    5353 
     54#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     55 
     56class iqAuthQuerySubject(iqAuthQueryBase, Subject): 
     57    def __init__(self, *args, **kw): 
     58        apply(iqAuthQueryBase.__init__, (self, ) + args, kw) 
     59        Subject.__init__(self) 
     60 
     61    def Update(self, subject, UpdateDict): 
     62        # Notify our callback 
     63        iqAuthQueryBase.Update(self, subject, UpdateDict) 
     64        self.UpdateObserversEx(UpdateDict) 
     65     
    5466#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    5567 
  • trunk/RBJabber/RBJabber/iqBrowseResponse.py

    r39 r55  
    2424         
    2525        strResult = ''.join(iq._toXML(bHeaderOnly=1)) 
    26         strResult += '''<user xmlns='jabber:iq:browse' jid=%s name=%s >''' % (quoteattr(self.JC().CurrentJID), quoteattr(self.JC().CurrentUsername)) 
     26        strResult += '''<user xmlns='jabber:iq:browse' jid=%s name=%s >''' % (quoteattr(self.JC().information.jid), quoteattr(self.JC().information.username)) 
    2727        strResult += ''.join(['<ns>%s</ns>' % escape(ns) for ns in self.JC().SupportedNS]) 
    2828        strResult += '''</user></iq>''' 
  • trunk/RBJabber/RBJabber/iqQuery.py

    r53 r55  
    44 
    55import weakref 
     6from Foundation.SubjectObserver import Subject 
    67from xml.sax.saxutils import escape, quoteattr 
    78  
     
    6263#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    6364 
     65class iqQuerySubject(iqQueryBase, Subject): 
     66    def __init__(self, JabberClient): 
     67        iqQueryBase.__init__(self, JabberClient) 
     68        Subject.__init__(self) 
     69 
     70    def Update(self, subject, UpdateDict): 
     71        # Notify our callback 
     72        iqQueryBase.Update(self, subject, UpdateDict) 
     73        self.UpdateObserversEx(UpdateDict) 
     74     
     75#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     76 
    6477class iqQuery(iqQueryBase): 
    6578    def __init__(self, JabberClient, ReplyCallback): 
  • trunk/RBJabber/RBJabber/iqRosterQuery.py

    r53 r55  
    55import weakref 
    66from xml.sax.saxutils import escape, quoteattr 
    7 from iqQuery import iqQueryBase 
     7from iqQuery import iqQueryBase, Subject 
    88  
    99#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    1111#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1212 
    13 class iqRosterQuery(iqQueryBase): 
     13class iqRosterQuery(iqQueryBase, Subject): 
    1414    def __init__(self, JabberClient): 
    15         self.JC = weakref.ref(JabberClient) 
     15        iqQueryBase.__init__(self, JabberClient) 
     16        Subject.__init__(self) 
    1617        self.JC().stream.AddObserver('iq', self) 
    1718        self.JC().SendXML('''<iq type='get'><query xmlns='jabber:iq:roster'/></iq>''') 
  • trunk/RBPrivate/Prototypes/ChatClient/.cvsignore

    r36 r55  
     1*.xml 
     2*.jabber 
    13*.pyc 
    24*.swp 
  • trunk/RBPrivate/Prototypes/ChatClient/AccountManagerMediator.py

    r54 r55  
    4949        for account in self.dictAccount.itervalues(): 
    5050            if int(account['login']): 
    51                 Model.LoginToClient(account['server'], account['username'], account['password'], account['resource']) 
     51                Model.LoginToClient(account['name'], account['server'], account['username'], account['password'], account['resource']) 
    5252 
    5353        self.context.frame.Hide() 
  • trunk/RBPrivate/Prototypes/ChatClient/ClientModel.py

    r54 r55  
    44 
    55import sys 
     6from Foundation.SubjectObserver import CategorySubject 
    67from Foundation.SmartSelect import SmartSelectDict 
    78from RuneBladeClient import RuneBladeClient 
     
    1112#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    1213 
    13 class ClientModel
     14class ClientModel(CategorySubject)
    1415    class _container: pass 
    1516 
    1617    def __init__(self, node): 
     18        CategorySubject.__init__(self) 
    1719        self.context = node.context 
    1820        self.JabberClients = SmartSelectDict() 
     
    2527    def ClearClients(self): 
    2628        self.JabberClients.clear() 
     29        self.UpdateObservers(JabberClients=self.JabberClients) 
    2730         
    28     def LoginToClient(self, server, username, password, resource='RuneBlade'): 
     31    def LoginToClient(self, name, server, username, password, resource='RuneBlade'): 
    2932        if __debug__: 
    3033            fileIn = open('IN %s@%s (%s).jabber' % (username, server, resource), 'w') 
     
    3336        else: 
    3437            jc = RuneBladeClient(server) 
    35         self.JabberClients[server, username, resource] = jc 
    36         jc.Authenticate(username, password, resource) 
    37         jc.Presence() 
     38        self.JabberClients[name] = jc 
     39        self.UpdateObservers(JabberClients=self.JabberClients) 
     40        jc.Authenticate(username, password, resource, self.OnAuthenticated) 
     41 
     42    def OnAuthenticated(self, subject, UpdateDict): 
     43        iq = UpdateDict['iq'] 
     44        print 'Authentication:', iq.type 
     45        iq._client.Presence() 
  • trunk/RBPrivate/Prototypes/ChatClient/MainframeMediator.py

    r54 r55  
    2020 
    2121    def OnIdle(self, evt): 
    22         self.context.Model.Process(0.05) 
    23         evt.RequestMore(1) 
     22        self.context.Model.Process(0.1) 
    2423        evt.Skip() 
    2524