Changeset 8215 for django/branches/gis/django/dispatch/dispatcher.py
- Timestamp:
- 08/05/08 12:15:33 (5 months ago)
- Files:
-
- django/branches/gis (modified) (1 prop)
- django/branches/gis/django/dispatch/dispatcher.py (modified) (12 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
django/branches/gis
- Property svnmerge-integrated changed from /django/trunk:1-7978 to /django/trunk:1-8214
django/branches/gis/django/dispatch/dispatcher.py
r4669 r8215 26 26 vs. the original code.) 27 27 """ 28 import types,weakref28 import weakref 29 29 from django.dispatch import saferef, robustapply, errors 30 30 … … 130 130 if signal is None: 131 131 raise errors.DispatcherTypeError( 132 'Signal cannot be None (receiver=%r sender=%r)' %( receiver,sender)132 'Signal cannot be None (receiver=%r sender=%r)' % (receiver, sender) 133 133 ) 134 134 if weak: … … 160 160 receivers = signals[signal] = [] 161 161 try: 162 current = sendersBack.get( receiverID)162 current = sendersBack.get(receiverID) 163 163 if current is None: 164 164 sendersBack[ receiverID ] = current = [] … … 200 200 if signal is None: 201 201 raise errors.DispatcherTypeError( 202 'Signal cannot be None (receiver=%r sender=%r)' %( receiver,sender)202 'Signal cannot be None (receiver=%r sender=%r)' % (receiver, sender) 203 203 ) 204 204 if weak: receiver = saferef.safeRef(receiver) … … 227 227 _cleanupConnections(senderkey, signal) 228 228 229 def getReceivers( sender = Any, signal = Any):229 def getReceivers(sender=Any, signal=Any): 230 230 """Get list of receivers from global tables 231 231 … … 241 241 might append new records. 242 242 243 Normally you would use liveReceivers( getReceivers(...))243 Normally you would use liveReceivers(getReceivers(...)) 244 244 to retrieve the actual receiver objects as an iterable 245 245 object. … … 259 259 """ 260 260 for receiver in receivers: 261 if isinstance( receiver, WEAKREF_TYPES):261 if isinstance(receiver, WEAKREF_TYPES): 262 262 # Dereference the weak reference. 263 263 receiver = receiver() … … 269 269 270 270 271 def getAllReceivers( sender = Any, signal = Any):271 def getAllReceivers(sender=Any, signal=Any): 272 272 """Get list of all receivers from global tables 273 273 … … 364 364 365 365 366 def sendExact( signal=Any, sender=Anonymous, *arguments, **named ):366 def sendExact(signal=Any, sender=Anonymous, *arguments, **named ): 367 367 """Send signal only to those receivers registered for exact message 368 368 … … 404 404 else: 405 405 try: 406 receivers.remove( receiver)406 receivers.remove(receiver) 407 407 except Exception, err: 408 408 pass … … 440 440 441 441 442 def _removeBackrefs( senderkey):442 def _removeBackrefs(senderkey): 443 443 """Remove all back-references to this senderkey""" 444 444 for receiver_list in connections.pop(senderkey, {}).values(): 445 445 for receiver in receiver_list: 446 _killBackref( receiver, senderkey)446 _killBackref(receiver, senderkey) 447 447 448 448 … … 474 474 break 475 475 if not found: 476 _killBackref( oldReceiver, senderkey)476 _killBackref(oldReceiver, senderkey) 477 477 return True 478 478 return False 479 479 480 480 481 def _killBackref( receiver, senderkey):481 def _killBackref(receiver, senderkey): 482 482 """Do the actual removal of back reference from receiver to senderkey""" 483 483 receiverkey = id(receiver) 484 receivers_list = sendersBack.get( receiverkey, ())484 receivers_list = sendersBack.get(receiverkey, ()) 485 485 while senderkey in receivers_list: 486 486 try: 487 receivers_list.remove( senderkey)487 receivers_list.remove(senderkey) 488 488 except: 489 489 break
