From d03d3ce5ac4357ab9dc6bf2a994461b855c4232b Mon Sep 17 00:00:00 2001 From: green-green-avk <45503261+green-green-avk@users.noreply.github.com> Date: Sat, 27 Mar 2021 20:44:41 -0700 Subject: [PATCH] A property to access the `assets` field of release (#1898) ... in order to avoid extra requests. --- github/GitRelease.py | 15 +++++++++++++++ github/GitRelease.pyi | 2 ++ 2 files changed, 17 insertions(+) diff --git a/github/GitRelease.py b/github/GitRelease.py index d62e98fff6..4327e3f7d6 100644 --- a/github/GitRelease.py +++ b/github/GitRelease.py @@ -170,6 +170,16 @@ def zipball_url(self): self._completeIfNotSet(self._zipball_url) return self._zipball_url.value + @property + def assets(self): + """ + Already returned assets info (no additional requests will be done). + + :type: list of :class:`github.GitReleaseAsset.GitReleaseAsset` + """ + self._completeIfNotSet(self._assets) + return self._assets.value + def delete_release(self): """ :calls: `DELETE /repos/{owner}/{repo}/releases/{release_id} `_ @@ -333,6 +343,7 @@ def _initAttributes(self): self._published_at = github.GithubObject.NotSet self._tarball_url = github.GithubObject.NotSet self._zipball_url = github.GithubObject.NotSet + self._assets = github.GithubObject.NotSet def _useAttributes(self, attributes): if "id" in attributes: @@ -369,3 +380,7 @@ def _useAttributes(self, attributes): self._tarball_url = self._makeStringAttribute(attributes["tarball_url"]) if "zipball_url" in attributes: self._zipball_url = self._makeStringAttribute(attributes["zipball_url"]) + if "assets" in attributes: + self._assets = self._makeListOfClassesAttribute( + github.GitReleaseAsset.GitReleaseAsset, attributes["assets"] + ) diff --git a/github/GitRelease.pyi b/github/GitRelease.pyi index d6f292cd93..00e633616d 100644 --- a/github/GitRelease.pyi +++ b/github/GitRelease.pyi @@ -11,6 +11,8 @@ class GitRelease(CompletableGithubObject): def _initAttributes(self) -> None: ... def _useAttributes(self, attributes: Dict[str, Any]) -> None: ... @property + def assets(self) -> list[GitReleaseAsset]: ... + @property def author(self) -> NamedUser: ... @property def body(self) -> str: ...