Skip to content

Commit

Permalink
Make GroupProject more "python-gitlabish"
Browse files Browse the repository at this point in the history
  • Loading branch information
Gauvain Pocentek committed Jun 19, 2016
1 parent 69e64a3 commit 68d15fd
Showing 1 changed file with 16 additions and 19 deletions.
35 changes: 16 additions & 19 deletions gitlab/objects.py
Expand Up @@ -666,14 +666,29 @@ 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
_constructorTypes = {'projects': 'Project'}
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
Expand Down Expand Up @@ -725,24 +740,6 @@ def search(self, query, **kwargs):
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
Expand Down

0 comments on commit 68d15fd

Please sign in to comment.