Skip to content
Merged
Show file tree
Hide file tree
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
4 changes: 3 additions & 1 deletion ogr/abstract/pull_request.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,9 @@ def created(self) -> datetime.datetime:

@property
def labels(self) -> Union[list["_abstract.PRLabel"], Iterable["_abstract.PRLabel"]]:
"""Labels of the pull request."""
"""
Labels of the pull request. Cached, may be outdated if modified externally.
"""
raise NotImplementedError()

@property
Expand Down
13 changes: 10 additions & 3 deletions ogr/services/github/pull_request.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ class GithubPullRequest(BasePullRequest):
_raw_pr: _GithubPullRequest
_target_project: "ogr_github.GithubProject"
_source_project: "ogr_github.GithubProject" = None
_labels: list[PRLabel] = None

@property
def title(self) -> str:
Expand Down Expand Up @@ -79,9 +80,12 @@ def created(self) -> datetime.datetime:

@property
def labels(self) -> list[PRLabel]:
return [
GithubPRLabel(raw_label, self) for raw_label in self._raw_pr.get_labels()
]
if not self._labels:
self._labels = [
GithubPRLabel(raw_label, self)
for raw_label in self._raw_pr.get_labels()
]
return self._labels
Comment thread
lbarcziova marked this conversation as resolved.

@property
def diff_url(self) -> str:
Expand Down Expand Up @@ -265,6 +269,9 @@ def merge(self) -> "PullRequest":
def add_label(self, *labels: str) -> None:
for label in labels:
self._raw_pr.add_to_labels(label)
self._labels = [
GithubPRLabel(raw_label, self) for raw_label in self._raw_pr.get_labels()
]

def get_comment(self, comment_id: int) -> PRComment:
return GithubPRComment(self._raw_pr.get_issue_comment(comment_id))
Loading