Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 3 additions & 39 deletions did/plugins/gitlab.py
Original file line number Diff line number Diff line change
Expand Up @@ -327,20 +327,11 @@ def __init__(self, data: dict, parent: "GitLabStats", set_id=None):
self.data = data
self.gitlabapi: GitLab = parent.gitlab
self.project = self.gitlabapi.get_project(data['project_id'])
self.id = set_id
if set_id is None:
self.id = self.iid()
self.id = set_id if set_id is not None else data.get(
'target_iid', 'unknown')
self.title = data['target_title']
self._body: Optional[str] = None

def iid(self):
issue = self.gitlabapi.get_project_issue(
self.data['project_id'], self.data['target_id'])

if issue is not None:
return issue['iid']
return "unknown"

@property
def body(self) -> str:
"""Get full issue description (lazy-loaded)"""
Expand Down Expand Up @@ -395,14 +386,6 @@ def __str__(self):
class MergeRequest(Issue):
# pylint: disable=too-few-public-methods

def __init__(self, data, parent, set_id=None):
if set_id is None:
merge_request = parent.gitlab.get_project_mr(
data['project_id'], data['target_id'])
if merge_request is not None:
set_id = merge_request['iid']
super().__init__(data, parent, set_id)

@property
def body(self) -> str:
"""Get full MR description (lazy-loaded)"""
Expand All @@ -418,28 +401,9 @@ class Note(Issue):

def __init__(self, data, parent, set_id=None):
if set_id is None:
set_id = self.note_iid(data, parent.gitlab)
set_id = data['note'].get('noteable_iid', 'unknown')
super().__init__(data, parent, set_id)

def note_iid(self, data, gitlabapi):
if data['note']['noteable_type'] == 'Issue':
issue = gitlabapi.get_project_issue(
data['project_id'],
data['note']['noteable_id'])

# `noteable_type` is `Issue` even for `WorkItem`s, which
# aren't returned by `get_project_issue()`
if issue is not None:
return issue['iid']
return 'unknown'
if data['note']['noteable_type'] == 'MergeRequest':
merge_request = gitlabapi.get_project_mr(
data['project_id'],
data['note']['noteable_id'])
if merge_request is not None:
return merge_request['iid']
return "unknown"

@property
def body(self) -> str:
"""Get full issue/MR description (lazy-loaded)"""
Expand Down
Loading