Merge pull request #181 from dangra/strict-version

Fix API version comparison for 1.10
This commit is contained in:
Joffrey F 2014-03-18 15:39:19 +01:00
commit 7ea1195d28
2 changed files with 22 additions and 3 deletions

View File

@ -312,7 +312,7 @@ class Client(requests.Session):
if line:
yield line
return stream and stream_result(response) or \
return stream_result() if stream else \
self._result(response, binary=True)
return stream and self._multiplexed_socket_stream_helper(response) or \
@ -651,7 +651,7 @@ class Client(requests.Session):
response = self._post_json(u, None, headers=headers, stream=stream)
else:
response = self._post_json(u, authcfg, stream=stream)
response = self._post_json(u, None, stream=stream)
return stream and self._stream_helper(response) \
or self._result(response)

View File

@ -15,6 +15,7 @@
import io
import tarfile
import tempfile
from distutils.version import StrictVersion
import requests
import six
@ -51,7 +52,25 @@ def tar(path):
def compare_version(v1, v2):
return float(v2) - float(v1)
"""Compare docker versions
>>> v1 = '1.9'
>>> v2 = '1.10'
>>> compare_version(v1, v2)
1
>>> compare_version(v2, v1)
-1
>>> compare_version(v2, v2)
0
"""
s1 = StrictVersion(v1)
s2 = StrictVersion(v2)
if s1 == s2:
return 0
elif s1 > s2:
return -1
else:
return 1
def ping(url):