def get_packages(self, arch):
if arch == "src":
- return self.backend.packages._get_packages("SELECT packages.* FROM repositories_builds \
- LEFT JOIN builds ON repositories_builds.build_id = builds.id \
- LEFT JOIN packages ON builds.pkg_id = packages.id \
- WHERE repositories_builds.repo_id = %s", self.id)
-
- return self.backend.packages._get_packages("SELECT packages.* FROM repositories_builds \
- LEFT JOIN builds ON repositories_builds.build_id = builds.id \
- LEFT JOIN jobs ON builds.id = jobs.build_id \
- LEFT JOIN jobs_packages ON jobs.id = jobs_packages.job_id \
- LEFT JOIN packages ON jobs_packages.pkg_id = packages.id \
- WHERE repositories_builds.repo_id = %s \
- AND (jobs.arch = %s OR jobs.arch = %s) \
- AND (packages.arch = %s OR packages.arch = %s)",
- self.id, arch, "noarch", arch, "noarch")
+ packages = self.backend.packages._get_packages("""
+ SELECT
+ packages.*
+ FROM
+ repositories_builds
+ LEFT JOIN
+ builds ON repositories_builds.build_id = builds.id
+ LEFT JOIN
+ packages ON builds.pkg_id = packages.id
+ WHERE
+ builds.deleted_at IS NULL
+ AND
+ packages.deleted_at IS NULL
+ AND
+ repositories_builds.repo_id = %s
+ """, self.id,
+ )
+
+ else:
+ packages = self.backend.packages._get_packages("""
+ SELECT
+ packages.*
+ FROM
+ repositories_builds
+ LEFT JOIN
+ builds ON repositories_builds.build_id = builds.id
+ LEFT JOIN
+ jobs ON builds.id = jobs.build_id
+ LEFT JOIN
+ jobs_packages ON jobs.id = jobs_packages.job_id
+ LEFT JOIN
+ packages ON jobs_packages.pkg_id = packages.id
+ WHERE
+ builds.deleted_at IS NULL
+ AND
+ jobs.deleted_at IS NULL
+ AND
+ packages.deleted_at IS NULL
+ AND
+ repositories_builds.repo_id = %s
+ AND
+ packages.arch = ANY(%s)
+ """,
+ self.id, [arch, "noarch"],
+ )
+
+ return list(packages)
# Stats