summaryrefslogtreecommitdiff
path: root/gitlab/objects.py
diff options
context:
space:
mode:
authorGauvain Pocentek <gauvain@pocentek.net>2016-06-19 16:08:01 +0200
committerGauvain Pocentek <gauvain@pocentek.net>2016-06-19 16:08:01 +0200
commit68d15fdfd7cd92adbf54873b75c42e46f35dd918 (patch)
tree472a6ad58f63a6047932574a191c1ad4559f4541 /gitlab/objects.py
parent69e64a330292d149a60f606fd262942112021f94 (diff)
downloadgitlab-68d15fdfd7cd92adbf54873b75c42e46f35dd918.tar.gz
Make GroupProject more "python-gitlabish"
Diffstat (limited to 'gitlab/objects.py')
-rw-r--r--gitlab/objects.py35
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