summaryrefslogtreecommitdiff
path: root/gitlab/v4/objects/projects.py
diff options
context:
space:
mode:
authorJohn L. Villalovos <john@sodarock.com>2022-01-22 10:47:43 -0800
committerJohn L. Villalovos <john@sodarock.com>2022-01-22 10:47:43 -0800
commit1905548ec251c88bb6a2b6677940dac9c1ab7167 (patch)
tree749471d43b6a8297727c8209330c95a7d3ae0d6a /gitlab/v4/objects/projects.py
parent8dfed0c362af2c5e936011fd0b488b8b05e8a8a0 (diff)
downloadgitlab-jlvillal/arrays.tar.gz
fix: use the [] after key names for array variablesjlvillal/arrays
1. Create a new CommaSeparatedListAttribute class. This is to indicate types which are sent to the GitLab server as comma-separated-strings (CSV) but we have been allowing users to use a list-of-strings. These values are NOT array values, so adding [] to the key name breaks them. 2. Rename ListAttribute to ArrayAttribute. 3. If a value is of type ArrayAttribute then append '[]' to the name of the value. 4. Move processing of most GitlabAttributes into the client.py:http_request() method. Now we convert our params into a list of tuples so that we can have multiple identical keys but with different values. Fixes: #1698
Diffstat (limited to 'gitlab/v4/objects/projects.py')
-rw-r--r--gitlab/v4/objects/projects.py7
1 files changed, 5 insertions, 2 deletions
diff --git a/gitlab/v4/objects/projects.py b/gitlab/v4/objects/projects.py
index f9988db..23f3d3c 100644
--- a/gitlab/v4/objects/projects.py
+++ b/gitlab/v4/objects/projects.py
@@ -125,7 +125,7 @@ class ProjectGroupManager(ListMixin, RESTManager):
"shared_min_access_level",
"shared_visible_only",
)
- _types = {"skip_groups": types.ListAttribute}
+ _types = {"skip_groups": types.ArrayAttribute}
class Project(RefreshMixin, SaveMixin, ObjectDeleteMixin, RepositoryMixin, RESTObject):
@@ -807,7 +807,10 @@ class ProjectManager(CRUDMixin, RESTManager):
"with_merge_requests_enabled",
"with_programming_language",
)
- _types = {"avatar": types.ImageAttribute, "topic": types.ListAttribute}
+ _types = {
+ "avatar": types.ImageAttribute,
+ "topic": types.CommaSeparatedListAttribute,
+ }
def get(self, id: Union[str, int], lazy: bool = False, **kwargs: Any) -> Project:
return cast(Project, super().get(id=id, lazy=lazy, **kwargs))