add --noobserver option to manage.py
[plstackapi.git] / planetstack / openstack_observer / __init__.py
index d9a63be..5d6ea79 100644 (file)
@@ -5,28 +5,32 @@ try:
 except:
     observer_disabled = False
 
-print_once = True
-
-if (not observer_disabled):
-    from .event_manager import EventSender
+def EnableObserver(x):
+    """ used for manage.py --noobserver """
+    global observer_disabled
+    observer_disabled = not x
 
-    def notify_observer(model=None, delete=False, pk=None, model_dict={}):
-        try:
-            if (model and delete):
-                if hasattr(model,"__name__"):
-                    modelName = model.__name__
-                else:
-                    modelName = model.__class__.__name__
-                EventSender().fire(delete_flag = delete, model = modelName, pk = pk, model_dict=model_dict)
-            else:
-                EventSender().fire()
-        except Exception,e:
-            print "Exception in Observer. This should not disrupt the front end. %s"%str(e)
+print_once = True
 
-else:
-    def notify_observer(model=None, delete=False, pk=None, model_dict={}):
+def notify_observer(model=None, delete=False, pk=None, model_dict={}):
+    if (observer_disabled):
         global print_once
         if (print_once):
             print "The observer is disabled"
             print_once = False
         return
+
+    try:
+        from .event_manager import EventSender
+        if (model and delete):
+            if hasattr(model,"__name__"):
+                modelName = model.__name__
+            else:
+                modelName = model.__class__.__name__
+            EventSender().fire(delete_flag = delete, model = modelName, pk = pk, model_dict=model_dict)
+        else:
+            EventSender().fire()
+    except Exception,e:
+        print "Exception in Observer. This should not disrupt the front end. %s"%str(e)
+
+