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()" + )
