add --noobserver option to manage.py
authorScott Baker <smbaker@gmail.com>
Thu, 20 Nov 2014 02:01:13 +0000 (18:01 -0800)
committerScott Baker <smbaker@gmail.com>
Thu, 20 Nov 2014 02:01:13 +0000 (18:01 -0800)
planetstack/manage.py
planetstack/openstack_observer/__init__.py
planetstack/scripts/opencloud [changed mode: 0755->0644]

index ce14cdb..4a7e2df 100644 (file)
@@ -12,4 +12,9 @@ if __name__ == "__main__":
         model_policy.EnableModelPolicy(False)
         sys.argv.remove("--nomodelpolicy")
 
+    if "--noobserver" in sys.argv:
+        import observer
+        observer.EnableObserver(False)
+        sys.argv.remove("--noobserver")
+
     execute_from_command_line(sys.argv)
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)
+
+
old mode 100755 (executable)
new mode 100644 (file)
index 7811483..54852b9
@@ -48,7 +48,7 @@ function syncdb {
     python /opt/planetstack/manage.py syncdb --noinput
     if [[ $DJANGO_17 ]]; then
         echo "Loading initial data from fixture..."
-        python /opt/planetstack/manage.py --nomodelpolicy loaddata /opt/planetstack/core/fixtures/initial_data.json
+        python /opt/planetstack/manage.py --noobserver --nomodelpolicy loaddata /opt/planetstack/core/fixtures/initial_data.json
     fi
 }
 function evolvedb {