Merge branch 'master' into live

This commit is contained in:
Kevin Morris 2022-02-17 18:28:25 -08:00
commit ac5543bad2
No known key found for this signature in database
GPG key ID: F7E46DED420788F3
5 changed files with 39 additions and 32 deletions

View file

@ -6,7 +6,7 @@ from typing import Any
# Publicly visible version of aurweb. This is used to display # Publicly visible version of aurweb. This is used to display
# aurweb versioning in the footer and must be maintained. # aurweb versioning in the footer and must be maintained.
# Todo: Make this dynamic/automated. # Todo: Make this dynamic/automated.
AURWEB_VERSION = "v6.0.14" AURWEB_VERSION = "v6.0.15"
_parser = None _parser = None

View file

@ -40,7 +40,7 @@ async def packages_get(request: Request, context: Dict[str, Any],
search_by = context["SeB"] = request.query_params.get("SeB", "nd") search_by = context["SeB"] = request.query_params.get("SeB", "nd")
# Query sort by. # Query sort by.
sort_by = context["SB"] = request.query_params.get("SB", "p") sort_by = request.query_params.get("SB", None)
# Query sort order. # Query sort order.
sort_order = request.query_params.get("SO", None) sort_order = request.query_params.get("SO", None)
@ -61,11 +61,6 @@ async def packages_get(request: Request, context: Dict[str, Any],
for keyword in keywords: for keyword in keywords:
search.search_by(search_by, keyword) search.search_by(search_by, keyword)
# Collect search result count here; we've applied our keywords.
# Including more query operations below, like ordering, will
# increase the amount of time required to collect a count.
num_packages = search.count()
flagged = request.query_params.get("outdated", None) flagged = request.query_params.get("outdated", None)
if flagged: if flagged:
# If outdated was given, set it up in the context. # If outdated was given, set it up in the context.
@ -90,15 +85,13 @@ async def packages_get(request: Request, context: Dict[str, Any],
search.query = search.query.filter( search.query = search.query.filter(
models.PackageBase.MaintainerUID.is_(None)) models.PackageBase.MaintainerUID.is_(None))
# Apply user-specified specified sort column and ordering. # Collect search result count here; we've applied our keywords.
search.sort_by(sort_by, sort_order) # Including more query operations below, like ordering, will
# increase the amount of time required to collect a count.
num_packages = search.count()
# If no SO was given, default the context SO to 'a' (Ascending). # Apply user-specified sort column and ordering.
# By default, if no SO is given, the search should sort by 'd' search.sort_by(sort_by, sort_order)
# (Descending), but display "Ascending" for the Sort order select.
if sort_order is None:
sort_order = "a"
context["SO"] = sort_order
# Insert search results into the context. # Insert search results into the context.
results = search.results().with_entities( results = search.results().with_entities(

View file

@ -8,7 +8,7 @@
# #
[tool.poetry] [tool.poetry]
name = "aurweb" name = "aurweb"
version = "v6.0.14" version = "v6.0.15"
license = "GPL-2.0-only" license = "GPL-2.0-only"
description = "Source code for the Arch User Repository's website" description = "Source code for the Arch User Repository's website"
homepage = "https://aur.archlinux.org" homepage = "https://aur.archlinux.org"

View file

@ -34,6 +34,9 @@
</div> </div>
<div> <div>
<label for="id_sort_by">{{ "Sort by" | tr }}</label> <label for="id_sort_by">{{ "Sort by" | tr }}</label>
{% if not SB %}
{% set SB = 'p' %}
{% endif %}
<select name='SB'> <select name='SB'>
<option value='n' {% if SB == "n" %}selected{% endif %}>{{ "Name" | tr }}</option> <option value='n' {% if SB == "n" %}selected{% endif %}>{{ "Name" | tr }}</option>
<option value='v' {% if SB == "v" %}selected{% endif %}>{{ "Votes" | tr }}</option> <option value='v' {% if SB == "v" %}selected{% endif %}>{{ "Votes" | tr }}</option>
@ -46,6 +49,9 @@
</div> </div>
<div> <div>
<label for="id_order_by">{{ "Sort order" | tr }}</label> <label for="id_order_by">{{ "Sort order" | tr }}</label>
{% if not SO %}
{% set SO = 'd' %}
{% endif %}
<select name='SO'> <select name='SO'>
<option value='a' {% if SO == "a" %}selected{% endif %}>{{ "Ascending" | tr }}</option> <option value='a' {% if SO == "a" %}selected{% endif %}>{{ "Ascending" | tr }}</option>
<option value='d' {% if SO == "d" %}selected{% endif %}>{{ "Descending" | tr }}</option> <option value='d' {% if SO == "d" %}selected{% endif %}>{{ "Descending" | tr }}</option>

View file

@ -1,3 +1,5 @@
{% set reverse_order = "d" if SO == "a" else "a" %}
<table {% if table_id %}id="{{ table_id }}"{% endif %} class="results"> <table {% if table_id %}id="{{ table_id }}"{% endif %} class="results">
<thead> <thead>
<tr> <tr>
@ -5,9 +7,10 @@
<th></th> <th></th>
{% endif %} {% endif %}
<th> <th>
{% set order = SO %}
{% if SB == "n" %} {% if SB == "n" %}
{% set order = "d" if order == "a" else "a" %} {% set order = reverse_order %}
{% else %}
{% set order = SO %}
{% endif %} {% endif %}
<a href="/packages?{{ q | extend_query(('O', 0), ('SB', 'n'), ('SO', order)) | urlencode }}"> <a href="/packages?{{ q | extend_query(('O', 0), ('SB', 'n'), ('SO', order)) | urlencode }}">
{{ "Name" | tr }} {{ "Name" | tr }}
@ -15,35 +18,39 @@
</th> </th>
<th>{{ "Version" | tr }}</th> <th>{{ "Version" | tr }}</th>
<th> <th>
{% set order = SO %}
{% if SB == "v" %} {% if SB == "v" %}
{% set order = "d" if order == "a" else "a" %} {% set order = reverse_order %}
{% else %}
{% set order = SO %}
{% endif %} {% endif %}
<a href="/packages?{{ q | extend_query(('O', 0), ('SB', 'v'), ('SO', order)) | urlencode }}"> <a href="/packages?{{ q | extend_query(('O', 0), ('SB', 'v'), ('SO', order)) | urlencode }}">
{{ "Votes" | tr }} {{ "Votes" | tr }}
</a> </a>
</th> </th>
<th> <th>
{% set order = SO %}
{% if SB == "p" %} {% if SB == "p" %}
{% set order = "d" if order == "a" else "a" %} {% set order = reverse_order %}
{% else %}
{% set order = SO %}
{% endif %} {% endif %}
<a href="/packages?{{ q | extend_query(('O', 0), ('SB', 'p'), ('SO', order)) | urlencode }}">{{ "Popularity" | tr }}</a><span title="{{ 'Popularity is calculated as the sum of all votes with each vote being weighted with a factor of %.2f per day since its creation.' | format(0.98) }}" class="hover-help"><sup>?</sup></span> <a href="/packages?{{ q | extend_query(('O', 0), ('SB', 'p'), ('SO', order)) | urlencode }}">{{ "Popularity" | tr }}</a><span title="{{ 'Popularity is calculated as the sum of all votes with each vote being weighted with a factor of %.2f per day since its creation.' | format(0.98) }}" class="hover-help"><sup>?</sup></span>
</th> </th>
{% if request.user.is_authenticated() %} {% if request.user.is_authenticated() %}
<th> <th>
{% set order = SO %}
{% if SB == "w" %} {% if SB == "w" %}
{% set order = "d" if order == "a" else "a" %} {% set order = reverse_order %}
{% else %}
{% set order = SO %}
{% endif %} {% endif %}
<a href="/packages?{{ q | extend_query(('O', 0), ('SB', 'w'), ('SO', order)) | urlencode }}"> <a href="/packages?{{ q | extend_query(('O', 0), ('SB', 'w'), ('SO', order)) | urlencode }}">
{{ "Voted" | tr }} {{ "Voted" | tr }}
</a> </a>
</th> </th>
<th> <th>
{% set order = SO %}
{% if SB == "o" %} {% if SB == "o" %}
{% set order = "d" if order == "a" else "a" %} {% set order = reverse_order %}
{% else %}
{% set order = SO %}
{% endif %} {% endif %}
<a href="/packages?{{ q | extend_query(('O', 0), ('SB', 'o'), ('SO', order)) | urlencode }}"> <a href="/packages?{{ q | extend_query(('O', 0), ('SB', 'o'), ('SO', order)) | urlencode }}">
{{ "Notify" | tr }} {{ "Notify" | tr }}
@ -52,9 +59,10 @@
{% endif %} {% endif %}
<th>{{ "Description" | tr }}</th> <th>{{ "Description" | tr }}</th>
<th> <th>
{% set order = SO %}
{% if SB == "m" %} {% if SB == "m" %}
{% set order = "d" if order == "a" else "a" %} {% set order = reverse_order %}
{% else %}
{% set order = SO %}
{% endif %} {% endif %}
<a href="/packages?{{ q | extend_query(('O', 0), ('SB', 'm'), ('SO', order)) | urlencode }}"> <a href="/packages?{{ q | extend_query(('O', 0), ('SB', 'm'), ('SO', order)) | urlencode }}">
{{ "Maintainer" | tr }} {{ "Maintainer" | tr }}