[libvirt] [PATCH] Make python objects inherit from 'object' base class

From: "Daniel P. Berrange" <berrange@redhat.com> As of python >= 2.2, it is recommended that all objects inherit from the 'object' base class. We already require python >= 2.3 for libvirt for thread macro support, so we should follow this best practice. See also http://stackoverflow.com/questions/4015417/python-class-inherits-object This is motivated the patch Rich just did for libguestfs https://www.redhat.com/archives/libguestfs/2013-January/msg00063.html Signed-off-by: Daniel P. Berrange <berrange@redhat.com> --- python/generator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/generator.py b/python/generator.py index f853d77..a079fc5 100755 --- a/python/generator.py +++ b/python/generator.py @@ -1413,7 +1413,7 @@ def buildWrappers(module): classes.write(" %s.__init__(self, _obj=_obj)\n\n" % ( classes_ancestor[classname])) else: - classes.write("class %s:\n" % (classname)) + classes.write("class %s(object):\n" % (classname)) if classname in [ "virDomain", "virNetwork", "virInterface", "virStoragePool", "virStorageVol", "virNodeDevice", "virSecret","virStream", "virNWFilter" ]: -- 1.8.1

On Thu, Jan 24, 2013 at 01:17:32PM +0000, Daniel P. Berrange wrote:
From: "Daniel P. Berrange" <berrange@redhat.com>
As of python >= 2.2, it is recommended that all objects inherit from the 'object' base class. We already require python >= 2.3 for libvirt for thread macro support, so we should follow this best practice.
See also
http://stackoverflow.com/questions/4015417/python-class-inherits-object
This is motivated the patch Rich just did for libguestfs
https://www.redhat.com/archives/libguestfs/2013-January/msg00063.html
Signed-off-by: Daniel P. Berrange <berrange@redhat.com> --- python/generator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/python/generator.py b/python/generator.py index f853d77..a079fc5 100755 --- a/python/generator.py +++ b/python/generator.py @@ -1413,7 +1413,7 @@ def buildWrappers(module): classes.write(" %s.__init__(self, _obj=_obj)\n\n" % ( classes_ancestor[classname])) else: - classes.write("class %s:\n" % (classname)) + classes.write("class %s(object):\n" % (classname)) if classname in [ "virDomain", "virNetwork", "virInterface", "virStoragePool", "virStorageVol", "virNodeDevice", "virSecret","virStream", "virNWFilter" ]:
ACK. I found a good discussion of what this is all about here: http://docs.python.org/release/2.2.3/whatsnew/sect-rellinks.html Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones virt-top is 'top' for virtual machines. Tiny program with many powerful monitoring features, net stats, disk stats, logging, etc. http://people.redhat.com/~rjones/virt-top

Hi, On Thu, Jan 24, 2013 at 01:17:32PM +0000, Daniel P. Berrange wrote:
From: "Daniel P. Berrange" <berrange@redhat.com>
As of python >= 2.2, it is recommended that all objects inherit from the 'object' base class. We already require python >= 2.3 for libvirt for thread macro support, so we should follow this best practice.
See also
http://stackoverflow.com/questions/4015417/python-class-inherits-object
This is motivated the patch Rich just did for libguestfs
https://www.redhat.com/archives/libguestfs/2013-January/msg00063.html
This might break applications since there's are subtle difference between old style and new style classes: http://docs.python.org/release/2.5.2/ref/node33.html I think the change is good but we might need to document this somewhere. Cheers, -- Guido
Signed-off-by: Daniel P. Berrange <berrange@redhat.com> --- python/generator.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/python/generator.py b/python/generator.py index f853d77..a079fc5 100755 --- a/python/generator.py +++ b/python/generator.py @@ -1413,7 +1413,7 @@ def buildWrappers(module): classes.write(" %s.__init__(self, _obj=_obj)\n\n" % ( classes_ancestor[classname])) else: - classes.write("class %s:\n" % (classname)) + classes.write("class %s(object):\n" % (classname)) if classname in [ "virDomain", "virNetwork", "virInterface", "virStoragePool", "virStorageVol", "virNodeDevice", "virSecret","virStream", "virNWFilter" ]: -- 1.8.1
-- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
participants (3)
-
Daniel P. Berrange
-
Guido Günther
-
Richard W.M. Jones