[libvirt] [glib PATCH 00/16] Update libvirt-glib python examples

This series contains a bunch of trivial fixes for our python examples, including: - Not using ";" at the end of the lines; - Ensuring that the right version of the libraries are imported; - Change the scripts so they're python3 compatible - Update the sha-bang lines to use python3 Fabiano Fidêncio (16): config-demo: Don't use ";" in the end of lines config-demo: Ensure the right LibvirtGConfig version gets loaded config-demo: Use print() in a py3 compatible way config-demo: Use octal when setting mode config-demo: Change she-bang line to use python3 conn-test: Don't use ";" in the end of lines conn-test: Ensure the right versions of LibvirtGObject and Gtk get loaded conn-test: Use print() in a py3 compatible way conn-test: Handle exceptions in a py3 compatible way conn-test: Change sha-bang line to use python3 event-test: LibvirtGLib.init() takes (at maximum) 1 argment event-test: Don't use ";" in the end of lines event-test: Ensure the right versions of LibvirtGLib and Gtk get loaded event-test: Use print() in a py3 compatible way event-test: Handle exceptions in a py3 compatible way event-test: Change sha-bang line to use python3 examples/config-demo.py | 15 +++++++++------ examples/conn-test.py | 20 ++++++++++++-------- examples/event-test.py | 28 ++++++++++++++++------------ 3 files changed, 37 insertions(+), 26 deletions(-) -- 2.21.0

Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/config-demo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/config-demo.py b/examples/config-demo.py index ab3bc77..e585705 100644 --- a/examples/config-demo.py +++ b/examples/config-demo.py @@ -1,6 +1,6 @@ #!/usr/bin/env python2 -from gi.repository import LibvirtGConfig; +from gi.repository import LibvirtGConfig domain = LibvirtGConfig.Domain.new() domain.set_virt_type(LibvirtGConfig.DomainVirtType.KVM) -- 2.21.0

On Mon, May 20, 2019 at 10:31:47AM +0200, Fabiano Fidêncio wrote:
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/config-demo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/config-demo.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/examples/config-demo.py b/examples/config-demo.py index e585705..4e86742 100644 --- a/examples/config-demo.py +++ b/examples/config-demo.py @@ -1,5 +1,8 @@ #!/usr/bin/env python2 +import gi + +gi.require_version('LibvirtGConfig', '1.0') from gi.repository import LibvirtGConfig domain = LibvirtGConfig.Domain.new() -- 2.21.0

On Mon, May 20, 2019 at 10:31:48AM +0200, Fabiano Fidêncio wrote:
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/config-demo.py | 3 +++ 1 file changed, 3 insertions(+)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/config-demo.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/config-demo.py b/examples/config-demo.py index 4e86742..de1db74 100644 --- a/examples/config-demo.py +++ b/examples/config-demo.py @@ -74,7 +74,7 @@ pty = LibvirtGConfig.DomainChardevSourcePty.new() console.set_source(pty) domain.add_device(console) -print domain.to_xml() +print(domain.to_xml()) pool = LibvirtGConfig.StoragePool.new() @@ -95,7 +95,7 @@ pool_target.set_path("/dev/disk/by-path") pool_target.set_permissions(perms) pool.set_target(pool_target) -print pool.to_xml() +print(pool.to_xml()) vol = LibvirtGConfig.StorageVol.new() @@ -107,4 +107,4 @@ vol_target.set_format("qcow2") vol_target.set_permissions(perms) vol.set_target(vol_target) -print vol.to_xml() +print(vol.to_xml()) -- 2.21.0

Basically, just change 0744 to 0o744 in order to be compatible with python3. Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/config-demo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/config-demo.py b/examples/config-demo.py index de1db74..506afb9 100644 --- a/examples/config-demo.py +++ b/examples/config-demo.py @@ -87,7 +87,7 @@ pool.set_source(pool_source) perms = LibvirtGConfig.StoragePermissions.new() perms.set_owner(1001) perms.set_group(1005) -perms.set_mode(0744) +perms.set_mode(0o744) perms.set_label("virt_image_t") pool_target = LibvirtGConfig.StoragePoolTarget.new() -- 2.21.0

On Mon, May 20, 2019 at 10:31:50AM +0200, Fabiano Fidêncio wrote:
Basically, just change 0744 to 0o744 in order to be compatible with python3.
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/config-demo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/config-demo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/config-demo.py b/examples/config-demo.py index 506afb9..8a1d293 100644 --- a/examples/config-demo.py +++ b/examples/config-demo.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 import gi -- 2.21.0

Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/conn-test.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/conn-test.py b/examples/conn-test.py index e3b1b99..8cd489e 100644 --- a/examples/conn-test.py +++ b/examples/conn-test.py @@ -1,10 +1,10 @@ #!/usr/bin/env python2 -from gi.repository import LibvirtGObject; -from gi.repository import Gio; -from gi.repository import Gtk; +from gi.repository import LibvirtGObject +from gi.repository import Gio +from gi.repository import Gtk -LibvirtGObject.init_object_check(None); +LibvirtGObject.init_object_check(None) conn = LibvirtGObject.Connection(uri="test:///default") canc = Gio.Cancellable() -- 2.21.0

On Mon, May 20, 2019 at 10:31:52AM +0200, Fabiano Fidêncio wrote:
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/conn-test.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/conn-test.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/examples/conn-test.py b/examples/conn-test.py index 8cd489e..100f5f5 100644 --- a/examples/conn-test.py +++ b/examples/conn-test.py @@ -1,7 +1,11 @@ #!/usr/bin/env python2 +import gi + +gi.require_version('LibvirtGObject', '1.0') from gi.repository import LibvirtGObject from gi.repository import Gio +gi.require_version('Gtk', '3.0') from gi.repository import Gtk LibvirtGObject.init_object_check(None) -- 2.21.0

Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/conn-test.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/conn-test.py b/examples/conn-test.py index 100f5f5..3b680b8 100644 --- a/examples/conn-test.py +++ b/examples/conn-test.py @@ -33,9 +33,9 @@ def done(conn, result, data): try: conf.validate() - print "Document is valid according to %s" % conf.get_schema() + print ("Document is valid according to %s" % conf.get_schema()) except Exception, e: - print "Document is not valid according to %s: %s: %s" % (conf.get_schema(), str(e), str(type(e))) + print ("Document is not valid according to %s: %s: %s" % (conf.get_schema(), str(e), str(type(e)))) xml = conf.to_xml() print ("XML " + xml) -- 2.21.0

Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/conn-test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/conn-test.py b/examples/conn-test.py index 3b680b8..5f60e92 100644 --- a/examples/conn-test.py +++ b/examples/conn-test.py @@ -34,7 +34,7 @@ def done(conn, result, data): conf.validate() print ("Document is valid according to %s" % conf.get_schema()) - except Exception, e: + except Exception as e: print ("Document is not valid according to %s: %s: %s" % (conf.get_schema(), str(e), str(type(e)))) xml = conf.to_xml() -- 2.21.0

On Mon, May 20, 2019 at 10:31:55AM +0200, Fabiano Fidêncio wrote:
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/conn-test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/conn-test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/conn-test.py b/examples/conn-test.py index 5f60e92..93a0085 100644 --- a/examples/conn-test.py +++ b/examples/conn-test.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 import gi -- 2.21.0

As 2 argments have been passed, whenever we try to run event-test we'd get: ``` Using uri:qemu:///system Traceback (most recent call last): File "event-test.py", line 62, in <module> main() File "event-test.py", line 51, in main LibvirtGLib.init(0, "") TypeError: LibvirtGLib.init() takes exactly 1 argument (2 given) ``` Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/event-test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/event-test.py b/examples/event-test.py index 2b25e0a..1f7d97e 100644 --- a/examples/event-test.py +++ b/examples/event-test.py @@ -48,7 +48,7 @@ def main(): print "Using uri:" + uri - LibvirtGLib.init(0, "") + LibvirtGLib.init() LibvirtGLib.event_register() vc = libvirt.open(uri) -- 2.21.0

On Mon, May 20, 2019 at 10:31:57AM +0200, Fabiano Fidêncio wrote:
As 2 argments have been passed, whenever we try to run event-test we'd get: ``` Using uri:qemu:///system Traceback (most recent call last): File "event-test.py", line 62, in <module> main() File "event-test.py", line 51, in main LibvirtGLib.init(0, "") TypeError: LibvirtGLib.init() takes exactly 1 argument (2 given) ```
A change from previous behaviour with pygobject.
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/event-test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
diff --git a/examples/event-test.py b/examples/event-test.py index 2b25e0a..1f7d97e 100644 --- a/examples/event-test.py +++ b/examples/event-test.py @@ -48,7 +48,7 @@ def main():
print "Using uri:" + uri
- LibvirtGLib.init(0, "") + LibvirtGLib.init() LibvirtGLib.event_register() vc = libvirt.open(uri)
-- 2.21.0
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/event-test.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/event-test.py b/examples/event-test.py index 1f7d97e..e1e8435 100644 --- a/examples/event-test.py +++ b/examples/event-test.py @@ -5,7 +5,7 @@ import libvirt import getopt import sys -from gi.repository import LibvirtGLib; +from gi.repository import LibvirtGLib def eventToString(event): eventStrings = ( "Added", @@ -15,8 +15,8 @@ def eventToString(event): "Resumed", "Stopped", "Saved", - "Restored" ); - return eventStrings[event]; + "Restored" ) + return eventStrings[event] def myDomainEventCallback1 (conn, dom, event, detail, opaque): print "myDomainEventCallback1 EVENT: Domain %s(%s) %s" % (dom.name(), dom.ID(), eventToString(event)) -- 2.21.0

On Mon, May 20, 2019 at 10:31:58AM +0200, Fabiano Fidêncio wrote:
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/event-test.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/event-test.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/examples/event-test.py b/examples/event-test.py index e1e8435..7668b56 100644 --- a/examples/event-test.py +++ b/examples/event-test.py @@ -1,10 +1,14 @@ #!/usr/bin/env python2 +import gi + +gi.require_version('Gtk', '3.0') from gi.repository import Gtk import libvirt import getopt import sys +gi.require_version('LibvirtGLib', '1.0') from gi.repository import LibvirtGLib def eventToString(event): -- 2.21.0

On Mon, May 20, 2019 at 10:31:59AM +0200, Fabiano Fidêncio wrote:
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/event-test.py | 4 ++++ 1 file changed, 4 insertions(+)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/event-test.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/event-test.py b/examples/event-test.py index 7668b56..f847e57 100644 --- a/examples/event-test.py +++ b/examples/event-test.py @@ -23,21 +23,21 @@ def eventToString(event): return eventStrings[event] def myDomainEventCallback1 (conn, dom, event, detail, opaque): - print "myDomainEventCallback1 EVENT: Domain %s(%s) %s" % (dom.name(), dom.ID(), eventToString(event)) + print("myDomainEventCallback1 EVENT: Domain %s(%s) %s" % (dom.name(), dom.ID(), eventToString(event))) def myDomainEventCallback2 (conn, dom, event, detail, opaque): - print "myDomainEventCallback2 EVENT: Domain %s(%s) %s" % (dom.name(), dom.ID(), eventToString(event)) + print("myDomainEventCallback2 EVENT: Domain %s(%s) %s" % (dom.name(), dom.ID(), eventToString(event))) def usage(): - print "usage: "+os.path.basename(sys.argv[0])+" [uri]" - print " uri will default to qemu:///system" + print("usage: "+os.path.basename(sys.argv[0])+" [uri]") + print(" uri will default to qemu:///system") def main(): try: opts, args = getopt.getopt(sys.argv[1:], "h", ["help"] ) except getopt.GetoptError, err: # print help information and exit: - print str(err) # will print something like "option -a not recognized" + print(str(err)) # will print something like "option -a not recognized" usage() sys.exit(2) for o, a in opts: @@ -50,7 +50,7 @@ def main(): else: uri = "qemu:///system" - print "Using uri:" + uri + print("Using uri:" + uri) LibvirtGLib.init() LibvirtGLib.event_register() -- 2.21.0

On Mon, May 20, 2019 at 10:32:00AM +0200, Fabiano Fidêncio wrote:
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/event-test.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/event-test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/event-test.py b/examples/event-test.py index f847e57..efa8f6d 100644 --- a/examples/event-test.py +++ b/examples/event-test.py @@ -35,7 +35,7 @@ def usage(): def main(): try: opts, args = getopt.getopt(sys.argv[1:], "h", ["help"] ) - except getopt.GetoptError, err: + except getopt.GetoptError as err: # print help information and exit: print(str(err)) # will print something like "option -a not recognized" usage() -- 2.21.0

On Mon, May 20, 2019 at 10:32:01AM +0200, Fabiano Fidêncio wrote:
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/event-test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/event-test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/event-test.py b/examples/event-test.py index efa8f6d..9e1d909 100644 --- a/examples/event-test.py +++ b/examples/event-test.py @@ -1,4 +1,4 @@ -#!/usr/bin/env python2 +#!/usr/bin/env python3 import gi -- 2.21.0

On Mon, May 20, 2019 at 10:32:02AM +0200, Fabiano Fidêncio wrote:
Signed-off-by: Fabiano Fidêncio <fidencio@redhat.com> --- examples/event-test.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|

On 5/20/19 10:31 AM, Fabiano Fidêncio wrote:
This series contains a bunch of trivial fixes for our python examples, including: - Not using ";" at the end of the lines; - Ensuring that the right version of the libraries are imported; - Change the scripts so they're python3 compatible - Update the sha-bang lines to use python3
Fabiano Fidêncio (16): config-demo: Don't use ";" in the end of lines config-demo: Ensure the right LibvirtGConfig version gets loaded config-demo: Use print() in a py3 compatible way config-demo: Use octal when setting mode config-demo: Change she-bang line to use python3 conn-test: Don't use ";" in the end of lines conn-test: Ensure the right versions of LibvirtGObject and Gtk get loaded conn-test: Use print() in a py3 compatible way conn-test: Handle exceptions in a py3 compatible way conn-test: Change sha-bang line to use python3 event-test: LibvirtGLib.init() takes (at maximum) 1 argment event-test: Don't use ";" in the end of lines event-test: Ensure the right versions of LibvirtGLib and Gtk get loaded event-test: Use print() in a py3 compatible way event-test: Handle exceptions in a py3 compatible way event-test: Change sha-bang line to use python3
examples/config-demo.py | 15 +++++++++------ examples/conn-test.py | 20 ++++++++++++-------- examples/event-test.py | 28 ++++++++++++++++------------ 3 files changed, 37 insertions(+), 26 deletions(-)
ACK Michal
participants (3)
-
Daniel P. Berrangé
-
Fabiano Fidêncio
-
Michal Privoznik