return False
+ # Stats
+
+ @lazy_property
+ def size(self):
+ res = self.db.query("""
+ SELECT
+ packages.arch AS arch,
+ SUM(packages.filesize) AS size
+ 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 IS FALSE
+ AND
+ jobs.deleted IS FALSE
+ AND
+ packages.deleted IS FALSE
+ AND
+ repositories_builds.repo_id = %s
+ GROUP BY
+ packages.arch""",
+ self.id,
+ )
+
+ return { row.arch : row.size for row in res if row.arch in self.distro.arches }
+
def updated(self):
self.db.execute("UPDATE repositories SET last_update = NOW() \
WHERE id = %s", self.id)
{% module Text(repo.description) %}
</div>
{% end %}
+
+ <div class="callout">
+ <h5>{{ _("Statistics") }}</h5>
+
+ <div class="grid-x">
+ <div class="cell">
+ {{ _("Size") }}
+
+ <table>
+ <tbody>
+ {% for arch, size in sorted(repo.size.items()) %}
+ <tr>
+ <th scope="row">
+ {{ arch }}
+ </th>
+
+ <td class="text-right">
+ {{ format_size(size) }}
+ </td>
+ </tr>
+ {% end %}
+ </tbody>
+ </table>
+ </div>
+ </div>
+ </div>
{% end block %}