Source code for gerrit.groups.members

#!/usr/bin/env python
# -*- coding:utf-8 -*-
# @Author: Jialiang Shi


[docs] class GerritGroupMembers(object): def __init__(self, group_id, gerrit): self.group_id = group_id self.gerrit = gerrit self.endpoint = f"/groups/{self.group_id}/members"
[docs] def list(self): """ Lists the direct members of a Gerrit internal group. This endpoint is only allowed for Gerrit internal groups; attempting to call on a non-internal group will return 405 Method Not Allowed. :return: """ result = self.gerrit.get(self.endpoint) accounts = [] for item in result: username = item.get("username") accounts.append(self.gerrit.accounts.get(username)) return accounts
[docs] def get(self, username): """ Retrieves a group member. This endpoint is only allowed for Gerrit internal groups; attempting to call on a non-internal group will return 405 Method Not Allowed. :param username: account username :return: """ result = self.gerrit.get(self.endpoint + f"/{username}") username = result.get("username") return self.gerrit.accounts.get(username)
[docs] def add(self, username): """ Adds a user as member to a Gerrit internal group. This endpoint is only allowed for Gerrit internal groups; attempting to call on a non-internal group will return 405 Method Not Allowed. :param username: account username :return: """ result = self.gerrit.put(self.endpoint + f"/{username}") username = result.get("username") return self.gerrit.accounts.get(username)
[docs] def remove(self, username): """ Removes a user from a Gerrit internal group. This endpoint is only allowed for Gerrit internal groups; attempting to call on a non-internal group will return 405 Method Not Allowed. :param username: account username :return: """ self.gerrit.delete(self.endpoint + f"/{username}")