diff options
author | aiordache <anca.iordache@docker.com> | 2020-08-19 14:19:29 +0200 |
---|---|---|
committer | aiordache <anca.iordache@docker.com> | 2020-08-19 14:19:29 +0200 |
commit | 727080b3cca846a28d5436bed861359c9742c7e1 (patch) | |
tree | c2f611f4559042f6b90f9d9166324f444d5d9d81 | |
parent | 0dfae33ce800d17d23a43ebde064c146d2c99781 (diff) | |
download | docker-py-727080b3cca846a28d5436bed861359c9742c7e1.tar.gz |
set version to 'auto' to avoid breaking on old engine versions
Signed-off-by: aiordache <anca.iordache@docker.com>
-rw-r--r-- | docker/api/client.py | 44 |
1 files changed, 21 insertions, 23 deletions
diff --git a/docker/api/client.py b/docker/api/client.py index 35dc84e..51abaed 100644 --- a/docker/api/client.py +++ b/docker/api/client.py @@ -7,6 +7,19 @@ import requests.exceptions import six import websocket +from .. import auth +from ..constants import (DEFAULT_DOCKER_API_VERSION, DEFAULT_NUM_POOLS, + DEFAULT_NUM_POOLS_SSH, DEFAULT_TIMEOUT_SECONDS, + DEFAULT_USER_AGENT, IS_WINDOWS_PLATFORM, + MINIMUM_DOCKER_API_VERSION, STREAM_HEADER_SIZE_BYTES) +from ..errors import (DockerException, InvalidVersion, TLSParameterError, + create_api_error_from_http_exception) +from ..tls import TLSConfig +from ..transport import SSLHTTPAdapter, UnixHTTPAdapter +from ..utils import check_resource, config, update_headers, utils +from ..utils.json_stream import json_stream +from ..utils.proxy import ProxyConfig +from ..utils.socket import consume_socket_output, demux_adaptor, frames_iter from .build import BuildApiMixin from .config import ConfigApiMixin from .container import ContainerApiMixin @@ -19,22 +32,7 @@ from .secret import SecretApiMixin from .service import ServiceApiMixin from .swarm import SwarmApiMixin from .volume import VolumeApiMixin -from .. import auth -from ..constants import ( - DEFAULT_TIMEOUT_SECONDS, DEFAULT_USER_AGENT, IS_WINDOWS_PLATFORM, - DEFAULT_DOCKER_API_VERSION, MINIMUM_DOCKER_API_VERSION, - STREAM_HEADER_SIZE_BYTES, DEFAULT_NUM_POOLS_SSH, DEFAULT_NUM_POOLS -) -from ..errors import ( - DockerException, InvalidVersion, TLSParameterError, - create_api_error_from_http_exception -) -from ..tls import TLSConfig -from ..transport import SSLHTTPAdapter, UnixHTTPAdapter -from ..utils import utils, check_resource, update_headers, config -from ..utils.socket import frames_iter, consume_socket_output, demux_adaptor -from ..utils.json_stream import json_stream -from ..utils.proxy import ProxyConfig + try: from ..transport import NpipeHTTPAdapter except ImportError: @@ -183,14 +181,14 @@ class APIClient( self.base_url = base_url # version detection needs to be after unix adapter mounting - if version is None: - self._version = DEFAULT_DOCKER_API_VERSION - elif isinstance(version, six.string_types): - if version.lower() == 'auto': - self._version = self._retrieve_server_version() - else: - self._version = version + if version is None or ( + isinstance(version, six.string_types) and + version.lower()) == 'auto': + self._version = self._retrieve_server_version() else: + self._version = version + + if not isinstance(self._version, six.string_types): raise DockerException( 'Version parameter must be a string or None. Found {0}'.format( type(version).__name__ |