diff --git a/packit_service/worker/handlers/bodhi.py b/packit_service/worker/handlers/bodhi.py index c6a1f95b8..23150f91f 100644 --- a/packit_service/worker/handlers/bodhi.py +++ b/packit_service/worker/handlers/bodhi.py @@ -128,7 +128,9 @@ def get_builds_in_sidetag(self, dist_git_branch: str) -> Tuple[str, List[str]]: missing = dependencies - tagged_packages raise PackitException(f"Missing dependencies for Bodhi update: {missing}") - candidate_tag = self.koji_helper.get_candidate_tag(dist_git_branch) + if not (candidate_tag := self.koji_helper.get_candidate_tag(dist_git_branch)): + raise PackitException(f"Failed to get candidate tag for {dist_git_branch}") + stable_tags = self.koji_helper.get_stable_tags(candidate_tag) nvrs = [] diff --git a/packit_service/worker/handlers/mixin.py b/packit_service/worker/handlers/mixin.py index ee2ba814f..27fcff433 100644 --- a/packit_service/worker/handlers/mixin.py +++ b/packit_service/worker/handlers/mixin.py @@ -235,22 +235,33 @@ class GetKojiBuildDataFromKojiService(Config, GetKojiBuildData): _koji_helper: Optional[KojiHelper] = None @property - def koji_helper(self): + def koji_helper(self) -> KojiHelper: if not self._koji_helper: self._koji_helper = KojiHelper() return self._koji_helper + def _get_latest_build(self) -> dict: + if not ( + candidate_tag := self.koji_helper.get_candidate_tag(self._dist_git_branch) + ): + raise PackitException( + f"Failed to get candidate tag for {self._dist_git_branch}" + ) + build = self.koji_helper.get_latest_build_in_tag( + package=self.project.repo, + tag=candidate_tag, + ) + if not build: + raise PackitException( + f"No build found for package={self.project.repo} " + f"and branch={self._dist_git_branch}" + ) + return build + @property - def build(self): + def build(self) -> dict: if not self._build: - self._build = self.koji_helper.get_latest_build_in_tag( - package=self.project.repo, - tag=self.koji_helper.get_candidate_tag(self._dist_git_branch), - ) - if not self._build: - raise PackitException( - f"No build found for package={self.project.repo} and tag={self.dist_git_branch}" - ) + self._build = self._get_latest_build() return self._build @property @@ -292,15 +303,7 @@ def _dist_git_branch(self) -> str: @property def build(self): # call it every time since dist_git_branch reference can change - build = self.koji_helper.get_latest_build_in_tag( - package=self.project.repo, - tag=self.koji_helper.get_candidate_tag(self._dist_git_branch), - ) - if not build: - raise PackitException( - f"No build found for package={self.project.repo} and tag={self.dist_git_branch}" - ) - return build + return self._get_latest_build() @property def num_of_branches(self):