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-08 17:22:24 -0800
commitf83fe7c9594e72cddf1d89031603c3d246c4c101 (patch)
tree120a1807a2689dc03c9a1efbccfeec9fe5c46911
parent89ee08f511d8a0882d5b034fc5be670f8987a802 (diff)
downloaddocker-py-f83fe7c9594e72cddf1d89031603c3d246c4c101.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: