You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@libcloud.apache.org by an...@apache.org on 2016/12/02 04:33:14 UTC

[12/40] libcloud git commit: Compare version using disutils package LooseVersion

Compare  version using disutils package LooseVersion


Project: http://git-wip-us.apache.org/repos/asf/libcloud/repo
Commit: http://git-wip-us.apache.org/repos/asf/libcloud/commit/cd7fe0e5
Tree: http://git-wip-us.apache.org/repos/asf/libcloud/tree/cd7fe0e5
Diff: http://git-wip-us.apache.org/repos/asf/libcloud/diff/cd7fe0e5

Branch: refs/heads/trunk
Commit: cd7fe0e5c8ed10f6aa8e6cf573d9239ef10bcaa4
Parents: 75111a4
Author: Samuel Chong <sa...@gmail.com>
Authored: Tue Nov 15 11:33:47 2016 +1100
Committer: Samuel Chong <sa...@gmail.com>
Committed: Tue Nov 15 11:33:47 2016 +1100

----------------------------------------------------------------------
 libcloud/common/dimensiondata.py | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/cd7fe0e5/libcloud/common/dimensiondata.py
----------------------------------------------------------------------
diff --git a/libcloud/common/dimensiondata.py b/libcloud/common/dimensiondata.py
index c58d5dd..3cb9f66 100644
--- a/libcloud/common/dimensiondata.py
+++ b/libcloud/common/dimensiondata.py
@@ -17,6 +17,7 @@ Dimension Data Common Components
 """
 from base64 import b64encode
 from time import sleep
+from distutils.version import LooseVersion, StrictVersion
 from libcloud.utils.py3 import httplib
 from libcloud.utils.py3 import b
 from libcloud.common.base import ConnectionUserAndKey, XmlResponse, RawResponse
@@ -375,13 +376,13 @@ class DimensionDataConnection(ConnectionUserAndKey):
     api_version_1 = 0.9
 
     # Earliest version supported
-    oldest_api_version = 2.2
+    oldest_api_version = '2.2'
 
     # Latest version supported
-    latest_api_version = 2.3
+    latest_api_version = '2.3'
 
     # Default api version
-    active_api_version = 2.3
+    active_api_version = '2.3'
 
     _orgId = None
     responseCls = DimensionDataResponse
@@ -404,7 +405,8 @@ class DimensionDataConnection(ConnectionUserAndKey):
             self.host = conn_kwargs['region']['host']
 
         if api_version:
-            if float(api_version) < self.oldest_api_version:
+            if LooseVersion(api_version) < LooseVersion(
+                    self.oldest_api_version):
                 msg = 'API Version specified is too old. No longer ' \
                       'supported. Please upgrade to the latest version {}' \
                     .format(self.active_api_version)
@@ -412,7 +414,8 @@ class DimensionDataConnection(ConnectionUserAndKey):
                 raise DimensionDataAPIException(code=None,
                                                 msg=msg,
                                                 driver=self.driver)
-            elif float(api_version) > self.latest_api_version:
+            elif LooseVersion(api_version) > LooseVersion(
+                    self.latest_api_version):
                 msg = 'Unsupported API Version. The version specified is ' \
                       'not release yet. Please use the latest supported ' \
                       'version {}' \