diff options
author | Joffrey F <joffrey@docker.com> | 2018-11-08 17:22:24 -0800 |
---|---|---|
committer | Joffrey F <joffrey@docker.com> | 2018-11-08 17:22:24 -0800 |
commit | f83fe7c9594e72cddf1d89031603c3d246c4c101 (patch) | |
tree | 120a1807a2689dc03c9a1efbccfeec9fe5c46911 | |
parent | 89ee08f511d8a0882d5b034fc5be670f8987a802 (diff) | |
download | docker-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.py | 5 | ||||
-rw-r--r-- | tests/unit/utils_test.py | 4 |
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: |