mirror of https://github.com/scrapy/scrapy.git
bumped embedded pydispatch to 2.0.1
This commit is contained in:
parent
02b7ca7e8c
commit
1868ede549
|
|
@ -30,7 +30,7 @@ import types, weakref
|
|||
from scrapy.xlib.pydispatch import saferef, robustapply, errors
|
||||
|
||||
__author__ = "Patrick K. O'Brien <pobrien@orbtech.com>"
|
||||
__cvsid__ = "$Id$"
|
||||
__cvsid__ = "$Id: dispatcher.py,v 1.1.1.1 2006/07/07 15:59:38 mcfletch Exp $"
|
||||
__version__ = "$Revision: 1.1.1.1 $"[11:-2]
|
||||
|
||||
try:
|
||||
|
|
@ -377,28 +377,29 @@ def _removeReceiver(receiver):
|
|||
# During module cleanup the mapping will be replaced with None
|
||||
return False
|
||||
backKey = id(receiver)
|
||||
for senderkey in sendersBack.get(backKey,()):
|
||||
try:
|
||||
signals = connections[senderkey].keys()
|
||||
except KeyError,err:
|
||||
pass
|
||||
else:
|
||||
for signal in signals:
|
||||
try:
|
||||
receivers = connections[senderkey][signal]
|
||||
except KeyError:
|
||||
pass
|
||||
else:
|
||||
try:
|
||||
receivers.remove( receiver )
|
||||
except Exception, err:
|
||||
pass
|
||||
_cleanupConnections(senderkey, signal)
|
||||
try:
|
||||
del sendersBack[ backKey ]
|
||||
except KeyError:
|
||||
pass
|
||||
|
||||
backSet = sendersBack.pop(backKey)
|
||||
except KeyError, err:
|
||||
return False
|
||||
else:
|
||||
for senderkey in backSet:
|
||||
try:
|
||||
signals = connections[senderkey].keys()
|
||||
except KeyError,err:
|
||||
pass
|
||||
else:
|
||||
for signal in signals:
|
||||
try:
|
||||
receivers = connections[senderkey][signal]
|
||||
except KeyError:
|
||||
pass
|
||||
else:
|
||||
try:
|
||||
receivers.remove( receiver )
|
||||
except Exception, err:
|
||||
pass
|
||||
_cleanupConnections(senderkey, signal)
|
||||
|
||||
def _cleanupConnections(senderkey, signal):
|
||||
"""Delete any empty signals for senderkey. Delete senderkey if empty."""
|
||||
try:
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ def safeRef(target, onDelete = None):
|
|||
onDelete=onDelete
|
||||
)
|
||||
return reference
|
||||
if callable(onDelete):
|
||||
if onDelete is not None:
|
||||
return weakref.ref(target, onDelete)
|
||||
else:
|
||||
return weakref.ref( target )
|
||||
|
|
@ -120,7 +120,7 @@ class BoundMethodWeakref(object):
|
|||
self.key = self.calculateKey( target )
|
||||
self.weakSelf = weakref.ref(target.im_self, remove)
|
||||
self.weakFunc = weakref.ref(target.im_func, remove)
|
||||
self.selfName = str(target.im_self)
|
||||
self.selfName = target.im_self.__class__.__name__
|
||||
self.funcName = str(target.im_func.__name__)
|
||||
def calculateKey( cls, target ):
|
||||
"""Calculate the reference key for this reference
|
||||
|
|
|
|||
Loading…
Reference in New Issue