def update(self, *args, **kwargs): """ Updating that there was change :rtype: void """ Observable.update_observers(self)
print(key,":",value) class ObserverB(BaseClass): '''A type of observerA class''' def __init__(self): '''Observer A constructor''' def update(self, *args, **kwargs): '''update callback which would be invoked''' print("ObserverB update invoked") for arg in args: print(arg) for key,value in kwargs.items(): print(key,":",value) if __name__ == "__main__": underObservation = Observable() bot1 = ObserverA() bot2 = ObserverB() underObservation.register(bot1) underObservation.register(bot2) underObservation.update_observers(('SMA indicates SELL', 'Bollinger Resistance', 'SELL'), {"Lotsize": 37, "TakeProfit": 300, "SL": 50})
from Observable import Observable from observer import Observer class AmericanStockMarket(Observer): def update(self, *args, **kwargs): print("American stock market received: {0}\n{1}".format(args, kwargs)) class EuropeanStockMarket(Observer): def update(self, *args, **kwargs): print("European stock market received: {0}\n{1}".format(args, kwargs)) if __name__ == "__main__": observable = Observable() american_observer = AmericanStockMarket() observable.register(american_observer) european_observer = EuropeanStockMarket() observable.register(european_observer) observable.update_observers('Market Rally', something='Hello World')