first crack at a caching object

This commit is contained in:
James Hensman 2014-02-06 12:33:00 +00:00
parent 6346af8764
commit 54272d22bb
4 changed files with 23 additions and 26 deletions

View file

@ -50,3 +50,7 @@ class ObservableArray(ListArray, Observable):
return self.__getitem__(slice(start, stop))
def __setslice__(self, start, stop, val):
return self.__setitem__(slice(start, stop), val)
def __copy__(self, *args):
return ObservableArray(self.base.base.copy(*args))
def copy(self, *args):
return self.__copy__(*args)

View file

@ -14,11 +14,12 @@ class Observable(object):
_observers_ = {}
def add_observer(self, observer, callble):
self._observers_[observer] = callble
callble(self)
#callble(self)
def remove_observer(self, observer):
del self._observers_[observer]
def _notify_observers(self):
[callble(self) for callble in self._observers_.itervalues()]
class Pickleable(object):
def _getstate(self):