Merge branch 'show-architecture' into 'master'

Draft: Show architecture for packages

See merge request archlinux/aurweb!496
This commit is contained in:
Hugo Barrera 2022-08-21 19:10:20 +00:00
commit 4b3bf3c019
4 changed files with 53 additions and 3 deletions

View file

@ -150,6 +150,7 @@ Packages = Table(
Column('Version', String(255), nullable=False, server_default=text("''")),
Column('Description', String(255)),
Column('URL', String(8000)),
Column('Arch', String(255), server_default=text("''")),
mysql_engine='InnoDB',
mysql_charset='utf8mb4',
mysql_collate='utf8mb4_general_ci',

View file

@ -0,0 +1,24 @@
"""Add column Packages.Arch
Revision ID: c9d5aa1ad04c
Revises: d64e5571bc8d
Create Date: 2022-07-19 17:09:01.845288
"""
import sqlalchemy as sa
from alembic import op
# revision identifiers, used by Alembic.
revision = "c9d5aa1ad04c"
down_revision = "d64e5571bc8d"
branch_labels = None
depends_on = None
def upgrade():
op.add_column("Packages", sa.Column("Arch", sa.String(length=255), nullable=True))
def downgrade():
op.drop_column("Packages", "Arch")

View file

@ -96,6 +96,22 @@ def genFortune():
return fortunes[random.randrange(0, len(fortunes))].replace("'", "")
def genArch() -> str:
arches: list[str] = []
if random.randrange(0, 10) < 8:
arches.append("x86_64")
if random.randrange(0, 10) < 6:
arches.append("aarch64")
if random.randrange(0, 10) < 2:
arches.append("riscv")
if arches:
return ",".join(arches)
else:
return "any"
# load the words, and make sure there are enough words for users/pkgs
#
log.debug("Grabbing words from seed file...")
@ -235,9 +251,11 @@ for p in list(seen_pkgs.keys()):
s = s % (seen_pkgs[p], p, NOW, NOW, uuid, muid, puid)
out.write(s)
s = ("INSERT INTO Packages (ID, PackageBaseID, Name, Version) VALUES "
"(%d, %d, '%s', '%s');\n")
s = s % (seen_pkgs[p], seen_pkgs[p], p, genVersion())
s = (
"INSERT INTO Packages (ID, PackageBaseID, Name, Version, Arch) VALUES "
"(%d, %d, '%s', '%s', '%s');\n"
)
s = s % (seen_pkgs[p], seen_pkgs[p], p, genVersion(), genArch())
out.write(s)
count += 1

View file

@ -160,6 +160,13 @@
<th>{{ "Last Updated" | tr }}:</th>
<td>{{ datetime_display(pkgbase.ModifiedTS) }}</td>
</tr>
{# Hide architecture for older packages for which we lack this data. #}
{% if pkg.Arch %}
<tr>
<th>{{ "Architecture" | tr }}:</th>
<td>{{ pkg.Arch }}</td>
</tr>
{% endif %}
</table>
<script type="text/javascript" src="/static/js/copy.js"></script>