Moving location_to_location_id to private staticmethod

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

Branch: refs/heads/trunk
Commit: 6e24bafe7ee75444c834cac30fdfece56e618c6b
Parents: a42e0f6
Author: Jeffrey Dunham <[email protected]>
Authored: Thu Feb 11 15:17:28 2016 -0500
Committer: anthony-shaw <[email protected]>
Committed: Sun Feb 14 13:44:39 2016 +1100

----------------------------------------------------------------------
 libcloud/common/dimensiondata.py          | 23 --------------------
 libcloud/compute/drivers/dimensiondata.py | 29 ++++++++++++++++++--------
 2 files changed, 20 insertions(+), 32 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/libcloud/blob/6e24bafe/libcloud/common/dimensiondata.py
----------------------------------------------------------------------
diff --git a/libcloud/common/dimensiondata.py b/libcloud/common/dimensiondata.py
index 448c99d..c8c08f0 100644
--- a/libcloud/common/dimensiondata.py
+++ b/libcloud/common/dimensiondata.py
@@ -285,29 +285,6 @@ BAD_MESSAGE_XML_ELEMENTS = (
 )
 
 
-def location_to_location_id(location):
-    """
-    Helper function to get a location id from a location whether
-    it be a NodeLocation or a string
-
-    :param location: The location to get an id from
-    :type  location: :class:`NodeLocation` or ``str``
-
-    :return: The location id
-    :rtype: ``str`` or None (if no location passed in)
-    """
-    if location is not None:
-        if isinstance(location, NodeLocation):
-            return location.id
-        elif isinstance(location, basestring):
-            return location
-        else:
-            raise TypeError(
-                "Invalid location type for location_to_location_id()"
-            )
-    return None
-
-
 class NetworkDomainServicePlan(object):
     ESSENTIALS = "ESSENTIALS"
     ADVANCED = "ADVANCED"

http://git-wip-us.apache.org/repos/asf/libcloud/blob/6e24bafe/libcloud/compute/drivers/dimensiondata.py
----------------------------------------------------------------------
diff --git a/libcloud/compute/drivers/dimensiondata.py 
b/libcloud/compute/drivers/dimensiondata.py
index 70a330c..653fc9c 100644
--- a/libcloud/compute/drivers/dimensiondata.py
+++ b/libcloud/compute/drivers/dimensiondata.py
@@ -37,7 +37,6 @@ from libcloud.common.dimensiondata import 
NetworkDomainServicePlan
 from libcloud.common.dimensiondata import API_ENDPOINTS, DEFAULT_REGION
 from libcloud.common.dimensiondata import TYPES_URN
 from libcloud.common.dimensiondata import SERVER_NS, NETWORK_NS, GENERAL_NS
-from libcloud.common.dimensiondata import location_to_location_id
 from libcloud.utils.py3 import urlencode
 from libcloud.utils.xml import fixxpath, findtext, findall
 from libcloud.utils.py3 import basestring
@@ -330,7 +329,7 @@ class DimensionDataNodeDriver(NodeDriver):
         """
         params = {}
         if location is not None:
-            params['datacenterId'] = location_to_location_id(location)
+            params['datacenterId'] = self._location_to_location_id(location)
 
         return self._to_base_images(
             self.connection.request_with_orgId_api_2(
@@ -393,7 +392,7 @@ class DimensionDataNodeDriver(NodeDriver):
         """
         url_ext = ''
         if location is not None:
-            url_ext = '/' + location_to_location_id(location)
+            url_ext = '/' + self._location_to_location_id(location)
 
         return self._to_networks(
             self.connection
@@ -454,7 +453,7 @@ class DimensionDataNodeDriver(NodeDriver):
 
         params = {}
         if location is not None:
-            params['datacenterId'] = location_to_location_id(location)
+            params['datacenterId'] = self._location_to_location_id(location)
 
         if ipv6 is not None:
             params['ipv6'] = ipv6
@@ -715,7 +714,7 @@ class DimensionDataNodeDriver(NodeDriver):
         :return: A new instance of `DimensionDataNetwork`
         :rtype:  Instance of :class:`DimensionDataNetwork`
         """
-        network_location = location_to_location_id(location)
+        network_location = self._location_to_location_id(location)
 
         create_node = ET.Element('NewNetworkWithLocation',
                                  {'xmlns': NETWORK_NS})
@@ -798,7 +797,7 @@ class DimensionDataNodeDriver(NodeDriver):
         """
         params = {}
         if location is not None:
-            params['datacenterId'] = location_to_location_id(location)
+            params['datacenterId'] = self._location_to_location_id(location)
 
         response = self.connection \
             .request_with_orgId_api_2('network/networkDomain',
@@ -829,7 +828,8 @@ class DimensionDataNodeDriver(NodeDriver):
         """
         create_node = ET.Element('deployNetworkDomain', {'xmlns': TYPES_URN})
         ET.SubElement(create_node,
-                      "datacenterId").text = location_to_location_id(location)
+                      "datacenterId"
+                     ).text = self._location_to_location_id(location)
         ET.SubElement(create_node, "name").text = name
         if description is not None:
             ET.SubElement(create_node, "description").text = description
@@ -1050,7 +1050,7 @@ class DimensionDataNodeDriver(NodeDriver):
         """
         params = {}
         if location is not None:
-            params['datacenterId'] = location_to_location_id(location)
+            params['datacenterId'] = self._location_to_location_id(location)
         if network_domain is not None:
             params['networkDomainId'] = network_domain.id
         response = self.connection.request_with_orgId_api_2('network/vlan',
@@ -1582,7 +1582,7 @@ class DimensionDataNodeDriver(NodeDriver):
         """
         params = {}
         if location is not None:
-            params['datacenterId'] = location_to_location_id(location)
+            params['datacenterId'] = self._location_to_location_id(location)
 
         return self._to_base_images(
             self.connection.request_with_orgId_api_2(
@@ -1923,3 +1923,14 @@ class DimensionDataNodeDriver(NodeDriver):
                                     'failureReason',
                                     TYPES_URN))
         return s
+
+    @staticmethod
+    def _location_to_location_id(location):
+        if isinstance(location, NodeLocation):
+            return location.id
+        elif isinstance(location, basestring):
+            return location
+        else:
+            raise TypeError(
+                "Invalid location type for _location_to_location_id()"
+            )

Reply via email to