]> xenbits.xensource.com Git - libvirt.git/commitdiff
WmiClass: Don't share "versions" between instances
authorRadostin Stoyanov <rstoyanov1@gmail.com>
Tue, 20 Mar 2018 06:48:55 +0000 (06:48 +0000)
committerDaniel P. Berrangé <berrange@redhat.com>
Tue, 20 Mar 2018 12:13:35 +0000 (12:13 +0000)
Lists in Python are mutable and when used as a default value of a
parameter for class constructor, its value will be shared between
all class instances.

Example:

class Test:
    def __init__(self, mylist=[]):
        self.mylist = mylist

A = Test()
B = Test()
A.mylist.append("mylist from instance A")
print(B.mylist) # Will print ['mylist from instance A']

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Signed-off-by: Radostin Stoyanov <rstoyanov1@gmail.com>
src/hyperv/hyperv_wmi_generator.py

index 6e98f0a89ce10a43ad4e58f1ac852b3d6c915adf..0dcd9e4383f98be2cd10c47e8e979cbfa515fc77 100755 (executable)
@@ -44,9 +44,9 @@ class WmiClass:
     to.
     """
 
-    def __init__(self, name, versions = []):
+    def __init__(self, name, versions=None):
         self.name = name
-        self.versions = versions
+        self.versions = versions if versions else list()
         self.common = None