From 115938b3e5adf9a2fb5ecbfb34d9c92bf788035e Mon Sep 17 00:00:00 2001 From: "John L. Villalovos" Date: Sun, 25 Apr 2021 13:03:13 -0700 Subject: [PATCH] feat: add support for lists of integers to ListAttribute Previously ListAttribute only support lists of integers. Now be more flexible and support lists of items which can be coerced into strings, for example integers. This will help us fix issue #1407 by using ListAttribute for the 'iids' field. --- gitlab/tests/test_types.py | 5 +++++ gitlab/types.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gitlab/tests/test_types.py b/gitlab/tests/test_types.py index f84eddbb0..a2e5ff5b3 100644 --- a/gitlab/tests/test_types.py +++ b/gitlab/tests/test_types.py @@ -59,6 +59,11 @@ def test_list_attribute_get_for_api_from_list(): assert o.get_for_api() == "foo,bar,baz" +def test_list_attribute_get_for_api_from_int_list(): + o = types.ListAttribute([1, 9, 7]) + assert o.get_for_api() == "1,9,7" + + def test_list_attribute_does_not_split_string(): o = types.ListAttribute("foo") assert o.get_for_api() == "foo" diff --git a/gitlab/types.py b/gitlab/types.py index e07d078e1..0495c972c 100644 --- a/gitlab/types.py +++ b/gitlab/types.py @@ -42,7 +42,7 @@ def get_for_api(self): if isinstance(self._value, str): return self._value - return ",".join(self._value) + return ",".join([str(x) for x in self._value]) class LowercaseStringAttribute(GitlabAttribute):