0

pickled signals now work as expected

This commit is contained in:
Aaron Griffith
2012-02-26 13:10:05 -05:00
parent f74769e988
commit 4f0e844bb5

View File

@@ -89,3 +89,12 @@ class Signal(object):
# convenience # convenience
def __call__(self, *args, **kwargs): def __call__(self, *args, **kwargs):
self.emit(*args, **kwargs) self.emit(*args, **kwargs)
# force pickled signals to redirect to existing signals
def __getstate__(self):
return self.fullname
def __setstate__(self, fullname):
for attr in dir(self.signals[fullname]):
if attr.startswith('_'):
continue
setattr(self, attr, getattr(self.signals[fullname], attr))