Răsfoiți Sursa

Fixed up code warnings in code climate and landscape

nuwan_ag 10 ani în urmă
părinte
comite
4c2beda07b

+ 6 - 0
cloudbridge/providers/base.py

@@ -25,6 +25,12 @@ class BaseCloudProvider(CloudProvider):
             pass  # Undefined service type
         return False
 
+    def _get_config_value(self, config, key, default_value):
+        if isinstance(config, dict):
+            return config.get(key, default_value)
+        else:
+            return getattr(config, key) if hasattr(config, key) and getattr(config, key) else default_value
+
 
 class BaseKeyPair(KeyPair):
 

+ 10 - 20
cloudbridge/providers/ec2/__init__.py

@@ -19,26 +19,16 @@ class EC2CloudProviderV1(BaseCloudProvider):
         self.cloud_type = 'ec2'
 
         # Initialize cloud connection fields
-        if isinstance(config, dict):
-            self.a_key = config.get('access_key', os.environ.get('EC2_ACCESS_KEY', None))
-            self.s_key = config.get('secret_key', os.environ.get('EC2_SECRET_KEY', None))
-            self.is_secure = config.get('is_secure', True)
-            self.region_name = config.get('region_name', 'us-east-1')
-            self.region_endpoint = config.get('region_endpoint', 'ec2.us-east-1.amazonaws.com')
-            self.ec2_port = config.get('ec2_port', '')
-            self.ec2_conn_path = config.get('ec2_conn_path', '/')
-        else:
-            self.a_key = config.access_key if hasattr(config, 'access_key') and \
-                config.access_key else os.environ.get('EC2_ACCESS_KEY', None)
-            self.s_key = config.secret_key if hasattr(config, 'secret_key') and \
-                config.secret_key else os.environ.get('EC2_ACCESS_KEY', None)
-            self.is_secure = config.is_secure if hasattr(config, 'is_secure') else True
-            self.region_name = config.region_name if hasattr(config, 'region_name') \
-                else 'us-east-1'
-            self.region_endpoint = config.region_endpoint if hasattr(config, 'region_endpoint') \
-                else 'ec2.us-east-1.amazonaws.com'
-            self.ec2_port = config.ec2_port if hasattr(config, 'ec2_port') else ''
-            self.ec2_conn_path = config.ec2_conn_path if hasattr(config, 'ec2_conn_path') else "/"
+        self.a_key = self._get_config_value(
+            config, 'access_key', os.environ.get('EC2_ACCESS_KEY', None))
+        self.s_key = self._get_config_value(
+            config, 'secret_key', os.environ.get('EC2_SECRET_KEY', None))
+        self.is_secure = self._get_config_value(config, 'is_secure', True)
+        self.region_name = self._get_config_value(config, 'region_name', 'us-east-1')
+        self.region_endpoint = self._get_config_value(
+            config, 'region_endpoint', 'ec2.us-east-1.amazonaws.com')
+        self.ec2_port = self._get_config_value(config, 'ec2_port', '')
+        self.ec2_conn_path = self._get_config_value(config, 'ec2_port', '/')
 
         # Create a connection object
         self.ec2_conn = self._connect_ec2()

+ 2 - 2
cloudbridge/providers/factory.py

@@ -1,13 +1,13 @@
 import importlib
 
 
-class ProviderList():
+class ProviderList(object):
     EC2 = 'ec2'
     OPENSTACK = 'openstack'
     AZURE = 'azure'
 
 
-class CloudProviderFactory():
+class CloudProviderFactory(object):
 
     """
     Get info and handle on the available cloud provider implementations.

+ 11 - 11
cloudbridge/providers/interfaces.py

@@ -1,4 +1,4 @@
-class CloudProviderServiceType():
+class CloudProviderServiceType(object):
 
     """
     Defines possible service types that are offered by providers.
@@ -18,7 +18,7 @@ class CloudProviderServiceType():
     OBJECTSTORE = 'object_store'
 
 
-class CloudProvider():
+class CloudProvider(object):
 
     """
     Base interface for a cloud provider
@@ -117,7 +117,7 @@ class CloudProvider():
             'CloudProvider.object_store not implemented by this provider')
 
 
-class ProviderService():
+class ProviderService(object):
 
     """
     Base interface for any service supported by a provider
@@ -407,7 +407,7 @@ class SecurityService(ProviderService):
             'delete_security_group not implemented by this provider')
 
 
-class Instance():
+class Instance(object):
 
     def instance_id(self):
         """
@@ -531,7 +531,7 @@ class Instance():
             'key_pair_name not implemented by this provider')
 
 
-class Volume():
+class Volume(object):
 
     def attach(self, instance_id, device):
         """
@@ -596,7 +596,7 @@ class Volume():
             'delete not implemented by this provider')
 
 
-class Snapshot():
+class Snapshot(object):
 
     def create_volume(self, placement, size=None, volume_type=None, iops=None):
         """
@@ -660,7 +660,7 @@ class Snapshot():
         raise NotImplementedError('delete not implemented by this provider')
 
 
-class Region():
+class Region(object):
 
     def name(self):
         raise NotImplementedError(
@@ -671,7 +671,7 @@ class Region():
             'list_zones not implemented by this provider')
 
 
-class KeyPair():
+class KeyPair(object):
 
     def __init__(self, name, material=None):
         self.name = name
@@ -691,7 +691,7 @@ class KeyPair():
     #         'name not implemented by this provider')
 
 
-class SecurityGroup():
+class SecurityGroup(object):
 
     def name(self):
         """
@@ -704,7 +704,7 @@ class SecurityGroup():
             'name not implemented by this provider')
 
 
-class ContainerProvider():
+class ContainerProvider(object):
 
     """
     Represents a container instance, such as Docker or LXC
@@ -719,7 +719,7 @@ class ContainerProvider():
             'delete_container not implemented by this provider')
 
 
-class DeploymentProvider():
+class DeploymentProvider(object):
 
     """
     Represents a deployment provider, such as Ansible or Shell script provider

+ 15 - 24
cloudbridge/providers/openstack/__init__.py

@@ -19,28 +19,19 @@ class OpenStackCloudProviderV1(BaseCloudProvider):
     def __init__(self, config):
         self.config = config
 
-        # Initialize optional fields
-        if isinstance(config, dict):
-            self.api_version = config.get(
-                'api_version', os.environ.get('OS_COMPUTE_API_VERSION', 2))
-            self.username = config.get('username', os.environ.get('OS_USERNAME', None))
-            self.password = config.get('password', os.environ.get('OS_PASSWORD', None))
-            self.tenant_name = config.get('tenant_name', os.environ.get('OS_TENANT_NAME', None))
-            self.auth_url = config.get('auth_url', os.environ.get('OS_AUTH_URL', None))
-        else:
-            self.api_version = config.api_version if hasattr(
-                config, 'api_version') and config.api_version else os.environ.get('OS_COMPUTE_API_VERSION', None)
-            self.username = config.username if hasattr(
-                config, 'username') and config.username else os.environ.get('OS_USERNAME', None)
-            self.password = config.password if hasattr(
-                config, 'password') and config.password else os.environ.get('OS_PASSWORD', None)
-            self.tenant_name = config.tenant_name if hasattr(
-                config, 'tenant_name') and config.tenant_name else os.environ.get('OS_TENANT_NAME', None)
-            self.auth_url = config.auth_url if hasattr(
-                config, 'auth_url') and config.auth_url else os.environ.get('OS_AUTH_URL', None)
-
-        self._nova = self._connect_nova()
-        self._keystone = self._connect_keystone()
+        self.api_version = self._get_config_value(
+            config, 'api_version', os.environ.get('OS_COMPUTE_API_VERSION', 2))
+        self.username = self._get_config_value(
+            config, 'username', os.environ.get('OS_USERNAME', None))
+        self.password = self._get_config_value(
+            config, 'password', os.environ.get('OS_PASSWORD', None))
+        self.tenant_name = self._get_config_value(
+            config, 'tenant_name', os.environ.get('OS_TENANT_NAME', None))
+        self.auth_url = self._get_config_value(
+            config, 'auth_url', os.environ.get('OS_AUTH_URL', None))
+
+        self.nova = self._connect_nova()
+        self.keystone = self._connect_keystone()
 
         # self.Compute = EC2ComputeService(self)
         # self.Images = EC2ImageService(self)
@@ -81,7 +72,7 @@ class OpenStackSecurityService(SecurityService):
         :rtype: ``list`` of :class:`.KeyPair`
         :return:  list of KeyPair objects
         """
-        key_pairs = self.provider._nova.keypairs.list()
+        key_pairs = self.provider.nova.keypairs.list()
         return [KeyPair(kp.id) for kp in key_pairs]
 
     def list_security_groups(self):
@@ -91,5 +82,5 @@ class OpenStackSecurityService(SecurityService):
         :rtype: ``list`` of :class:`.KeyPair`
         :return:  list of KeyPair objects
         """
-        groups = self.provider._nova.security_groups.list()
+        groups = self.provider.nova.security_groups.list()
         return [BaseSecurityGroup(group.name) for group in groups]