Skip to content

Commit 2ec1047

Browse files
committed
Streamline exceptions for auto version ; retrieve_server_version into protected method
1 parent 3e0496c commit 2ec1047

File tree

1 file changed

+12
-7
lines changed

1 file changed

+12
-7
lines changed

docker/client.py

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ def __init__(self, base_url=None, version=None,
6666
if version is None:
6767
self._version = DEFAULT_DOCKER_API_VERSION
6868
elif isinstance(version, six.string_types):
69-
if version.lower() == "auto":
70-
self._version = self.retrieve_server_version()
69+
if version.lower() == 'auto':
70+
self._version = self._retrieve_server_version()
7171
else:
7272
self._version = version
7373
else:
@@ -77,13 +77,18 @@ def __init__(self, base_url=None, version=None,
7777
)
7878
)
7979

80-
def retrieve_server_version(self):
81-
response = self.version(api_version=False)
80+
def _retrieve_server_version(self):
8281
try:
83-
return response["ApiVersion"]
82+
return self.version(api_version=False)["ApiVersion"]
8483
except KeyError:
85-
raise ValueError("Invalid response from docker daemon: "
86-
"key \"ApiVersion\" is missing.")
84+
raise errors.DockerException(
85+
'Invalid response from docker daemon: key "ApiVersion"'
86+
' is missing.'
87+
)
88+
except Exception as e:
89+
raise errors.DockerException(
90+
'Error while fetching server API version: {0}'.format(e)
91+
)
8792

8893
def _set_request_timeout(self, kwargs):
8994
"""Prepare the kwargs for an HTTP request by inserting the timeout

0 commit comments

Comments
 (0)