def _members(self, access_level): try: return { GitLabUser.from_data(user, self._token, user['id']) for user in self.raw_members() if user['access_level'] >= access_level } except RuntimeError: return { GitLabUser.from_data({'username': self.name}, self._token, identifier=None) }
def author(self) -> GitLabUser: """ Retrieves the author of the merge request. :return: A GitLabUser object. """ return GitLabUser.from_data(self.data['author'], self._token, self.data['author']['id'])
def author(self) -> GitLabUser: """ Retrieves the author of the comment. >>> from os import environ >>> note = GitLabComment(GitLabOAuthToken(environ['GITLAB_TEST_TOKEN']), ... 'gitmate-test-user/test', 1, ... CommentType.ISSUE, 31500135) >>> note.author.username 'gitmate-test-user' :return: A GitLabUser object. """ return GitLabUser.from_data(self.data['author'], self._token, self.data['author']['id'])
def assignees(self): """ Retrieves the assignee of the issue: >>> from os import environ >>> issue = GitLabIssue(GitLabOAuthToken(environ['GITLAB_TEST_TOKEN']), ... 'gitmate-test-user/test', 1) >>> issue.assignees {'gitmate-test-user'} >>> issue = GitLabIssue(GitLabOAuthToken(environ['GITLAB_TEST_TOKEN']), ... 'gitmate-test-user/test', 2) >>> issue.assignees # Returns empty set, unassigned {} :return: A set containing the usernames of assignees. """ return { GitLabUser.from_data(user, self._token, user['id']) for user in self.data['assignees'] }
def assignees(self): # GitLab Merge Requests do not support multiple assignees. user = self.data['assignee'] if not user: return set() return {GitLabUser.from_data(user, self._token, user['id'])}
def user(self) -> GitLabUser: """ Retrieves the user who reacted with this reaction. """ user = self.data['user'] return GitLabUser.from_data(user, self._token, user['id'])