Changeset 95

Show
Ignore:
Timestamp:
04/11/02 12:15:11 (6 years ago)
Author:
sholloway
Message:

*** empty log message ***

Files:

Legend:

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

    r94 r95  
    4343 
    4444class FromJIDSubjectMixin(CategorySubjectBaseMixin): 
    45     def AddObserver(self, category, observer, bUpdate): 
     45    def AddObserver(self, category, observer, bUpdate=0): 
    4646        super(FromJIDSubjectMixin, self).AddObserver(JID.JID(category), observer, bUpdate) 
    4747 
    48     def RemoveObserver(self, category, observer, bUpdate): 
     48    def RemoveObserver(self, category, observer, bUpdate=0): 
    4949        super(FromJIDSubjectMixin, self).RemoveObserver(JID.JID(category), observer, bUpdate) 
    5050 
     
    5555        for value in UpdateDict.itervalues(): 
    5656            for obs in self._ObserverList(value.from_.noresource()): 
    57                 subject._GetBid(obs(), UpdateDict) 
     57                subject._GetBid(obs, UpdateDict) 
    5858            for obs in self._ObserverList(value.from_): 
    59                 subject._GetBid(obs(), UpdateDict) 
     59                subject._GetBid(obs, UpdateDict) 
    6060 
    6161#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
  • trunk/RBJabber/RBJabber/SubjectObserver/CategorySubject.py

    r93 r95  
    3636 
    3737from Subject import Subject 
    38 import weakref 
     38from Foundation import WeakBind 
    3939 
    4040#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    5252     
    5353    def AddObserver(self, category, observer, bUpdate=0): 
    54         result = self._WrapObserver(observer) 
     54        result = WeakBind.BindCallable(observer) 
    5555        self._observers.setdefault(category,[]).append(result) 
    5656        if bUpdate: self.UpdateObserver(result, self._cachedUpdates) 
     
    5858 
    5959    def RemoveObserver(self, observer): 
    60         result = self._WrapObserver(observer) 
     60        result = WeakBind.BindCallable(observer) 
    6161        for observers in self._observers.itervalues(): 
    6262            try: 
  • trunk/RBJabber/RBJabber/SubjectObserver/Subject.py

    r88 r95  
    3636 
    3737from Foundation import WeakBind 
    38 import weakref 
    3938 
    4039#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
     
    5352     
    5453    def AddObserver(self, observer, bUpdate=0): 
    55         result = self._WrapObserver(observer) 
     54        result = WeakBind.BindCallable(observer) 
    5655        self._observers.append(result) 
    5756        if bUpdate: self.UpdateObserver(result, self._cachedUpdates) 
     
    5958 
    6059    def RemoveObserver(self, observer): 
    61         result = self._WrapObserver(observer) 
     60        result = WeakBind.BindCallable(observer) 
    6261        try: 
    6362            while 1: self._observers.remove(result) 
     
    6968    #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    7069    
    71     def _WrapObserver(self, observer): 
    72         return WeakBind.BindCallable(observer) 
    73   
    7470    def _ObserverList(self): 
    7571        self._observers = filter(None, self._observers) 
  • trunk/RBJabber/RBJabber/Test.py

    r89 r95  
    4141from iqBrowseResponse import iqBrowseResponse 
    4242from iqRosterQuery import iqRosterQuery 
     43from JabberSubject import FromJIDSubject 
    4344from SubscribeApproveResponse import SubscribeApproveResponse 
    4445from pprint import pprint 
     
    141142        jc.stream.AddObserver('presence', _printPresence) 
    142143 
     144        def OnShanePresence(stream, presence): print "HELLO SHANE!!!" 
     145        js = FromJIDSubject() 
     146        jc.stream.AddObserver('presence', js) 
     147        js.AddObserver('shane.holloway@www.runeblade.com', OnShanePresence) 
     148         
    143149        pm = PresenceMap(jc) 
    144150        router = MessageRouterByType(jc) 
     
    163169        iqBrowseResponse(jc) 
    164170        SubscribeApproveResponse(jc) 
     171         
    165172        while 1: process(1) 
    166173    except KeyboardInterrupt: