summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoffrey F <joffrey@docker.com>2018-11-08 17:22:24 -0800
committerJoffrey F <joffrey@docker.com>2018-11-28 11:56:28 -0800
commit66666f9824a500e402e16c78866ad2a37438448d (patch)
treed2e84d80712a86f9b5e621b60b2a7b01e6a06653
parentd9e08aedc3743c133bc4bb87917bc0914f9ff63d (diff)
downloaddocker-py-66666f9824a500e402e16c78866ad2a37438448d.tar.gz
Properly convert non-string filters to expected string format
Signed-off-by: Joffrey F <joffrey@docker.com>
-rw-r--r--docker/utils/utils.py5
-rw-r--r--tests/unit/utils_test.py4
2 files changed, 6 insertions, 3 deletions
diff --git a/docker/utils/utils.py b/docker/utils/utils.py
index a8e814d..61e307a 100644
--- a/docker/utils/utils.py
+++ b/docker/utils/utils.py
@@ -386,7 +386,10 @@ def convert_filters(filters):
v = 'true' if v else 'false'
if not isinstance(v, list):
v = [v, ]
- result[k] = v
+ result[k] = [
+ str(item) if not isinstance(item, six.string_types) else item
+ for item in v
+ ]
return json.dumps(result)
diff --git a/tests/unit/utils_test.py b/tests/unit/utils_test.py
index c862a1c..a4e9c9c 100644
--- a/tests/unit/utils_test.py
+++ b/tests/unit/utils_test.py
@@ -457,8 +457,8 @@ class UtilsTest(unittest.TestCase):
tests = [
({'dangling': True}, '{"dangling": ["true"]}'),
({'dangling': "true"}, '{"dangling": ["true"]}'),
- ({'exited': 0}, '{"exited": [0]}'),
- ({'exited': [0, 1]}, '{"exited": [0, 1]}'),
+ ({'exited': 0}, '{"exited": ["0"]}'),
+ ({'exited': [0, 1]}, '{"exited": ["0", "1"]}'),
]
for filters, expected in tests: