[libvirt] [PATCH] Fix printing of event detail in python events demo program

Daniel P. Berrange berrange at redhat.com
Thu Apr 22 15:33:43 UTC 2010


The events demo program is slightly misleading printing

  myDomainEventCallback1 EVENT: Domain f14i686(-1) Added

which is not distinguishing Add vs Update events. It should have
been doing

  myDomainEventCallback1 EVENT: Domain f14i686(-1) Defined Updated

* examples/domain-events/events-python/event-test.py: Fully print
  event detail info string
---
 examples/domain-events/events-python/event-test.py |   27 ++++++++++++++-----
 1 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/examples/domain-events/events-python/event-test.py b/examples/domain-events/events-python/event-test.py
index 0c6e2f0..7c5af68 100644
--- a/examples/domain-events/events-python/event-test.py
+++ b/examples/domain-events/events-python/event-test.py
@@ -396,21 +396,34 @@ def virEventLoopPureStart():
 # Everything that now follows is a simple demo of domain lifecycle events
 ##########################################################################
 def eventToString(event):
-    eventStrings = ( "Added",
-                     "Removed",
+    eventStrings = ( "Defined",
+                     "Undefined",
                      "Started",
                      "Suspended",
                      "Resumed",
-                     "Stopped",
-                     "Saved",
-                     "Restored" );
+                     "Stopped" );
     return eventStrings[event];
 
+def detailToString(event, detail):
+    eventStrings = (
+        ( "Added", "Updated" ),
+        ( "Removed" ),
+        ( "Booted", "Migrated", "Restored", "Snapshot" ),
+        ( "Paused", "Migrated", "IOError", "Watchdog" ),
+        ( "Unpaused", "Migrated"),
+        ( "Shutdown", "Destroyed", "Crashed", "Migrated", "Saved", "Failed", "Snapshot")
+        )
+    return eventStrings[event][detail]
+
 def myDomainEventCallback1 (conn, dom, event, detail, opaque):
-    print "myDomainEventCallback1 EVENT: Domain %s(%s) %s %d" % (dom.name(), dom.ID(), eventToString(event), detail)
+    print "myDomainEventCallback1 EVENT: Domain %s(%s) %s %s" % (dom.name(), dom.ID(),
+                                                                 eventToString(event),
+                                                                 detailToString(event, detail))
 
 def myDomainEventCallback2 (conn, dom, event, detail, opaque):
-    print "myDomainEventCallback2 EVENT: Domain %s(%s) %s %d" % (dom.name(), dom.ID(), eventToString(event), detail)
+    print "myDomainEventCallback2 EVENT: Domain %s(%s) %s %s" % (dom.name(), dom.ID(),
+                                                                 eventToString(event),
+                                                                 detailToString(event, detail))
 
 def myDomainEventRebootCallback(conn, dom, opaque):
     print "myDomainEventRebootCallback: Domain %s(%s)" % (dom.name(), dom.ID())
-- 
1.6.6.1




More information about the libvir-list mailing list