Răsfoiți Sursa

Refactored repr by moving it to base class

Nuwan Goonasekera 7 ani în urmă
părinte
comite
b56184e8a1
1 a modificat fișierele cu 9 adăugiri și 64 ștergeri
  1. 9 64
      cloudbridge/cloud/base/resources.py

+ 9 - 64
cloudbridge/cloud/base/resources.py

@@ -115,6 +115,15 @@ class BaseCloudResource(CloudResource):
         js = {k: v for(k, v) in attr if not k.startswith('_')}
         js = {k: v for(k, v) in attr if not k.startswith('_')}
         return js
         return js
 
 
+    def __repr__(self):
+        name_or_label = getattr(self, 'label', self.name)
+        if name_or_label == self.id:
+            return "<CB-{0}: {1}>".format(
+                self.__class__.__name__, self.id)
+        else:
+            return "<CB-{0}: {1} ({2})>".format(
+                self.__class__.__name__, name_or_label, self.id)
+
 
 
 class BaseObjectLifeCycleMixin(ObjectLifeCycleMixin):
 class BaseObjectLifeCycleMixin(ObjectLifeCycleMixin):
     """
     """
@@ -281,10 +290,6 @@ class BaseVMType(BaseCloudResource, VMType):
     def size_total_disk(self):
     def size_total_disk(self):
         return self.size_root_disk + self.size_ephemeral_disks
         return self.size_root_disk + self.size_ephemeral_disks
 
 
-    def __repr__(self):
-        return "<CB-{0}: {1} ({2})>".format(self.__class__.__name__,
-                                            self.name, self.id)
-
 
 
 class BaseInstance(BaseCloudResource, BaseObjectLifeCycleMixin, Instance):
 class BaseInstance(BaseCloudResource, BaseObjectLifeCycleMixin, Instance):
 
 
@@ -311,10 +316,6 @@ class BaseInstance(BaseCloudResource, BaseObjectLifeCycleMixin, Instance):
             timeout=timeout,
             timeout=timeout,
             interval=interval)
             interval=interval)
 
 
-    def __repr__(self):
-        return "<CB-{0}: {1} ({2})>".format(self.__class__.__name__,
-                                            self.label, self.id)
-
 
 
 class BaseLaunchConfig(LaunchConfig):
 class BaseLaunchConfig(LaunchConfig):
 
 
@@ -412,10 +413,6 @@ class BaseMachineImage(
             timeout=timeout,
             timeout=timeout,
             interval=interval)
             interval=interval)
 
 
-    def __repr__(self):
-        return "<CB-{0}: {1} ({2})>".format(self.__class__.__name__,
-                                            self.label or self.name, self.id)
-
 
 
 class BaseAttachmentInfo(AttachmentInfo):
 class BaseAttachmentInfo(AttachmentInfo):
 
 
@@ -458,10 +455,6 @@ class BaseVolume(BaseCloudResource, BaseObjectLifeCycleMixin, Volume):
             timeout=timeout,
             timeout=timeout,
             interval=interval)
             interval=interval)
 
 
-    def __repr__(self):
-        return "<CB-{0}: {1} ({2})>".format(self.__class__.__name__,
-                                            self.label or self.name, self.id)
-
 
 
 class BaseSnapshot(BaseCloudResource, BaseObjectLifeCycleMixin, Snapshot):
 class BaseSnapshot(BaseCloudResource, BaseObjectLifeCycleMixin, Snapshot):
 
 
@@ -484,10 +477,6 @@ class BaseSnapshot(BaseCloudResource, BaseObjectLifeCycleMixin, Snapshot):
             timeout=timeout,
             timeout=timeout,
             interval=interval)
             interval=interval)
 
 
-    def __repr__(self):
-        return "<CB-{0}: {1} ({2})>".format(self.__class__.__name__,
-                                            self.label or self.name, self.id)
-
 
 
 class BaseKeyPair(BaseCloudResource, KeyPair):
 class BaseKeyPair(BaseCloudResource, KeyPair):
 
 
@@ -536,10 +525,6 @@ class BaseKeyPair(BaseCloudResource, KeyPair):
         #  multiple providers.
         #  multiple providers.
         self._key_pair.delete()
         self._key_pair.delete()
 
 
-    def __repr__(self):
-        return "<CB-{0}: {1} ({2})>".format(self.__class__.__name__,
-                                            self.name, self.id)
-
 
 
 class BaseVMFirewall(BaseCloudResource, VMFirewall):
 class BaseVMFirewall(BaseCloudResource, VMFirewall):
 
 
@@ -589,10 +574,6 @@ class BaseVMFirewall(BaseCloudResource, VMFirewall):
         """
         """
         return self._vm_firewall.delete()
         return self._vm_firewall.delete()
 
 
-    def __repr__(self):
-        return "<CB-{0}: {1} ({2})>".format(self.__class__.__name__,
-                                            self.label or self.name, self.id)
-
 
 
 class BaseVMFirewallRuleContainer(BasePageableObjectMixin,
 class BaseVMFirewallRuleContainer(BasePageableObjectMixin,
                                   VMFirewallRuleContainer):
                                   VMFirewallRuleContainer):
@@ -686,10 +667,6 @@ class BasePlacementZone(BaseCloudResource, PlacementZone):
     def __init__(self, provider):
     def __init__(self, provider):
         super(BasePlacementZone, self).__init__(provider)
         super(BasePlacementZone, self).__init__(provider)
 
 
-    def __repr__(self):
-        return "<CB-{0}: {1}>".format(self.__class__.__name__,
-                                      self.id)
-
     def __eq__(self, other):
     def __eq__(self, other):
         return (isinstance(other, PlacementZone) and
         return (isinstance(other, PlacementZone) and
                 # pylint:disable=protected-access
                 # pylint:disable=protected-access
@@ -702,10 +679,6 @@ class BaseRegion(BaseCloudResource, Region):
     def __init__(self, provider):
     def __init__(self, provider):
         super(BaseRegion, self).__init__(provider)
         super(BaseRegion, self).__init__(provider)
 
 
-    def __repr__(self):
-        return "<CB-{0}: {1}>".format(self.__class__.__name__,
-                                      self.id)
-
     def __eq__(self, other):
     def __eq__(self, other):
         return (isinstance(other, Region) and
         return (isinstance(other, Region) and
                 # pylint:disable=protected-access
                 # pylint:disable=protected-access
@@ -758,10 +731,6 @@ class BaseBucketObject(BaseCloudResource, BucketObject):
                 # check from most to least likely mutables
                 # check from most to least likely mutables
                 self.name == other.name)
                 self.name == other.name)
 
 
-    def __repr__(self):
-        return "<CB-{0}: {1}>".format(self.__class__.__name__,
-                                      self.id)
-
 
 
 class BaseBucket(BaseCloudResource, Bucket):
 class BaseBucket(BaseCloudResource, Bucket):
 
 
@@ -776,10 +745,6 @@ class BaseBucket(BaseCloudResource, Bucket):
                 # check from most to least likely mutables
                 # check from most to least likely mutables
                 self.name == other.name)
                 self.name == other.name)
 
 
-    def __repr__(self):
-        return "<CB-{0}: {1}>".format(self.__class__.__name__,
-                                      self.id)
-
 
 
 class BaseBucketContainer(BasePageableObjectMixin, BucketContainer):
 class BaseBucketContainer(BasePageableObjectMixin, BucketContainer):
 
 
@@ -807,10 +772,6 @@ class BaseNetwork(BaseCloudResource, BaseObjectLifeCycleMixin, Network):
     def __init__(self, provider):
     def __init__(self, provider):
         super(BaseNetwork, self).__init__(provider)
         super(BaseNetwork, self).__init__(provider)
 
 
-    def __repr__(self):
-        return "<CB-{0}: {1} ({2})>".format(self.__class__.__name__,
-                                            self.label or self.name, self.id)
-
     def wait_till_ready(self, timeout=None, interval=None):
     def wait_till_ready(self, timeout=None, interval=None):
         self.wait_for(
         self.wait_for(
             [NetworkState.AVAILABLE],
             [NetworkState.AVAILABLE],
@@ -837,10 +798,6 @@ class BaseSubnet(BaseCloudResource, BaseObjectLifeCycleMixin, Subnet):
     def __init__(self, provider):
     def __init__(self, provider):
         super(BaseSubnet, self).__init__(provider)
         super(BaseSubnet, self).__init__(provider)
 
 
-    def __repr__(self):
-        return "<CB-{0}: {1} ({2})>".format(self.__class__.__name__,
-                                            self.label or self.name, self.id)
-
     def __eq__(self, other):
     def __eq__(self, other):
         return (isinstance(other, Subnet) and
         return (isinstance(other, Subnet) and
                 # pylint:disable=protected-access
                 # pylint:disable=protected-access
@@ -899,10 +856,6 @@ class BaseFloatingIP(BaseCloudResource, BaseObjectLifeCycleMixin, FloatingIP):
             timeout=timeout,
             timeout=timeout,
             interval=interval)
             interval=interval)
 
 
-    def __repr__(self):
-        return "<CB-{0}: {1} ({2})>".format(self.__class__.__name__,
-                                            self.name, self.id)
-
     def __eq__(self, other):
     def __eq__(self, other):
         return (isinstance(other, FloatingIP) and
         return (isinstance(other, FloatingIP) and
                 # pylint:disable=protected-access
                 # pylint:disable=protected-access
@@ -918,10 +871,6 @@ class BaseRouter(BaseCloudResource, Router):
     def __init__(self, provider):
     def __init__(self, provider):
         super(BaseRouter, self).__init__(provider)
         super(BaseRouter, self).__init__(provider)
 
 
-    def __repr__(self):
-        return "<CB-{0}: {1} ({2})>".format(self.__class__.__name__,
-                                            self.label or self.name, self.id)
-
     def __eq__(self, other):
     def __eq__(self, other):
         return (isinstance(other, Router) and
         return (isinstance(other, Router) and
                 # pylint:disable=protected-access
                 # pylint:disable=protected-access
@@ -939,10 +888,6 @@ class BaseInternetGateway(BaseCloudResource, BaseObjectLifeCycleMixin,
         super(BaseInternetGateway, self).__init__(provider)
         super(BaseInternetGateway, self).__init__(provider)
         self.__provider = provider
         self.__provider = provider
 
 
-    def __repr__(self):
-        return "<CB-{0}: {1} ({2})>".format(self.__class__.__name__,
-                                            self.label or self.name, self.id)
-
     def __eq__(self, other):
     def __eq__(self, other):
         return (isinstance(other, InternetGateway) and
         return (isinstance(other, InternetGateway) and
                 # pylint:disable=protected-access
                 # pylint:disable=protected-access