caching can handle None

This commit is contained in:
Max Zwiessele 2014-02-27 08:47:06 +00:00
parent ebea658f5c
commit a6d3fda234
3 changed files with 11 additions and 8 deletions

View file

@ -4,7 +4,7 @@
__updated__ = '2013-12-16'
import numpy as np
from parameter_core import Observable, Parameterizable
from parameter_core import Observable
class ParamList(list):
"""

View file

@ -19,12 +19,13 @@ class Observable(object):
self._observer_callables_[observer].append(callble)
def remove_observer(self, observer, callble=None):
if callble is None:
del self._observer_callables_[observer]
else:
self._observer_callables_[observer].remove(callble)
if len(self._observer_callables_[observer]) == 0:
self.remove_observer(observer)
if observer in self._observer_callables_:
if callble is None:
del self._observer_callables_[observer]
elif callble in self._observer_callables_[observer]:
self._observer_callables_[observer].remove(callble)
if len(self._observer_callables_[observer]) == 0:
self.remove_observer(observer)
def _notify_observers(self):
[[callble(self) for callble in callables]