diff options
| author | Gauvain Pocentek <gauvain@pocentek.net> | 2016-06-19 16:08:01 +0200 | 
|---|---|---|
| committer | Gauvain Pocentek <gauvain@pocentek.net> | 2016-06-19 16:08:01 +0200 | 
| commit | 68d15fdfd7cd92adbf54873b75c42e46f35dd918 (patch) | |
| tree | 472a6ad58f63a6047932574a191c1ad4559f4541 /gitlab/objects.py | |
| parent | 69e64a330292d149a60f606fd262942112021f94 (diff) | |
| download | gitlab-68d15fdfd7cd92adbf54873b75c42e46f35dd918.tar.gz | |
Make GroupProject more "python-gitlabish"
Diffstat (limited to 'gitlab/objects.py')
| -rw-r--r-- | gitlab/objects.py | 35 | 
1 files changed, 16 insertions, 19 deletions
| diff --git a/gitlab/objects.py b/gitlab/objects.py index e56bfc4..83a8c8f 100644 --- a/gitlab/objects.py +++ b/gitlab/objects.py @@ -666,6 +666,20 @@ class GroupMemberManager(BaseManager):      obj_cls = GroupMember +class GroupProject(GitlabObject): +    _url = '/groups/%(group_id)s/projects' +    canGet = 'from_list' +    canCreate = False +    canDelete = False +    canUpdate = False +    optionalListAttrs = ['archived', 'visibility', 'order_by', 'sort', +                         'search', 'ci_enabled_first'] + + +class GroupProjectManager(BaseManager): +    obj_cls = GroupProject + +  class Group(GitlabObject):      _url = '/groups'      canUpdate = False @@ -673,7 +687,8 @@ class Group(GitlabObject):      requiredCreateAttrs = ['name', 'path']      optionalCreateAttrs = ['description', 'visibility_level']      shortPrintAttr = 'name' -    managers = [('members', GroupMemberManager, [('group_id', 'id')])] +    managers = [('members', GroupMemberManager, [('group_id', 'id')]), +                ('projects', GroupProjectManager, [('group_id', 'id')])]      GUEST_ACCESS = 10      REPORTER_ACCESS = 20 @@ -725,24 +740,6 @@ class GroupManager(BaseManager):          return self.gitlab._raw_list(url, self.obj_cls, **kwargs) -class GroupProject(GitlabObject): -    def list_projects(self, gid, **kwargs): -        """List projects in a group - -        Attrs: -            gid (int): ID of the group - -        Returns: -            list(Group): a list of projects in the group -        """ -        url = '/groups/%d/projects' % gid -        return self.gitlab._raw_list(url, self.obj_cls, **kwargs) - - -class GroupProjectManager(BaseManager): -    obj_cls = GroupProject - -  class Hook(GitlabObject):      _url = '/hooks'      canUpdate = False | 
