2 """The Observer/Observable pattern"""
7 def add_observer(self
, callback
):
8 self
.callbacks
.append(callback
)
10 def del_observer(self
, callback
):
11 self
.callbacks
.remove(callback
)
13 def fire_observers(self
, *args
, **kwargs
):
14 # Copy in case the list is modified by an observer
15 for cb
in self
.callbacks
[:]: