diff options
| -rw-r--r-- | ChangeLog | 1 | ||||
| -rw-r--r-- | gitlab.py | 16 |
2 files changed, 16 insertions, 1 deletions
@@ -4,6 +4,7 @@ Version 0.4 * Allow to get a project commit (GitLab 6.1) * ProjectMergeRequest: fix Note() method * Gitlab 6.1 methods: diff, blob (commit), tree, blob (project) + * Add support for Gitlab 6.1 group members Version 0.3 @@ -187,7 +187,7 @@ class Gitlab(object): cls = obj_class if obj_class._returnClass: cls = obj_class._returnClass - l = [cls(self, item) for item in r.json()] + l = [cls(self, item) for item in r.json() if item is not None] if kwargs: for k, v in kwargs.items(): if k in ('page', 'per_page'): @@ -571,12 +571,26 @@ class CurrentUser(GitlabObject): return CurrentUserKey(self.gitlab, id) +class GroupMember(GitlabObject): + _url = '/groups/%(group_id)s/members' + canGet = False + canUpdate = False + requiredCreateAttrs = ['group_id', 'user_id', 'access_level'] + requiredDeleteAttrs = ['group_id', 'user_id'] + shortPrintAttr = 'username' + + class Group(GitlabObject): _url = '/groups' _constructorTypes = {'projects': 'Project'} requiredCreateAttrs = ['name', 'path'] shortPrintAttr = 'name' + def Member(self, id=None, **kwargs): + return self._getListOrObject(GroupMember, id, + group_id=self.id, + **kwargs) + def transfer_project(self, id): url = '/groups/%d/projects/%d' % (self.id, id) r = self.gitlab.rawPost(url, None) |
