This tree was mixed up, with an old version of the EC2 Observer. This
[plstackapi.git] / planetstack / openstack_observer / __init__.py
1 from planetstack.config import Config
2
3 try:
4     observer_disabled = Config().observer_disabled
5 except:
6     observer_disabled = False
7
8 print_once = True
9
10 if (not observer_disabled):
11     from .event_manager import EventSender
12
13     def notify_observer(model=None, delete=False, pk=None, model_dict={}):
14         try:
15             if (model and delete):
16                 if hasattr(model,"__name__"):
17                     modelName = model.__name__
18                 else:
19                     modelName = model.__class__.__name__
20                 EventSender().fire(delete_flag = delete, model = modelName, pk = pk, model_dict=model_dict)
21             else:
22                 EventSender().fire()
23         except Exception,e:
24             print "Exception in Observer. This should not disrupt the front end. %s"%str(e)
25
26 else:
27     def notify_observer(model=None, delete=False, pk=None, model_dict={}):
28         global print_once
29         if (print_once):
30             print "The observer is disabled"
31             print_once = False
32         return