From 4f0e844bb53c9c48bd9dbd7c80f96b5cb11eed73 Mon Sep 17 00:00:00 2001 From: Aaron Griffith Date: Sun, 26 Feb 2012 13:10:05 -0500 Subject: [PATCH] pickled signals now work as expected --- overviewer_core/signals.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/overviewer_core/signals.py b/overviewer_core/signals.py index 3e8dc5e..ca2eab8 100755 --- a/overviewer_core/signals.py +++ b/overviewer_core/signals.py @@ -89,3 +89,12 @@ class Signal(object): # convenience def __call__(self, *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))