package index: remove the "all" option and default to some repo
The page is getting very large and showing all packages for all repos shouldn't be a common use case. Let's filter always and default to mingw64
This commit is contained in:
@@ -26,6 +26,8 @@ CONFIG = [
|
||||
(REPO_URL + "/msys/x86_64/msys.files", "msys", "x86_64"),
|
||||
]
|
||||
|
||||
DEFAULT_REPO = "mingw64"
|
||||
|
||||
VERSION_CONFIG = []
|
||||
for repo in ["core", "extra", "community", "testing", "community-testing",
|
||||
"multilib"]:
|
||||
|
||||
@@ -11,12 +11,11 @@
|
||||
|
||||
<form class="row g-2 align-items-center" action="{{ url_for('package') }}" method="get">
|
||||
<div class="col-auto">
|
||||
Repositories:
|
||||
Repository:
|
||||
</div>
|
||||
|
||||
<div class="col-auto">
|
||||
<select name="repo" class="form-select form-select-sm" onchange="this.form.submit()">
|
||||
<option {{ "selected" if not repo_filter or "" }} value="">All</option>
|
||||
{% for r in repos|sort(attribute='name') %}
|
||||
<option value="{{ r.name }}" {{ "selected" if repo_filter == r.name or "" }}>{{ r.name }}</option>
|
||||
{% endfor %}
|
||||
|
||||
@@ -21,6 +21,7 @@ from fastapi.staticfiles import StaticFiles
|
||||
from fastapi_etag import add_exception_handler as add_etag_exception_handler
|
||||
|
||||
from .appstate import state, get_repositories, Package, is_skipped, Source, DepType, SrcInfoPackage
|
||||
from .appconfig import DEFAULT_REPO
|
||||
from .utils import extract_upstream_version, version_is_newer_than
|
||||
|
||||
router = APIRouter(default_response_class=HTMLResponse)
|
||||
@@ -271,13 +272,15 @@ async def group(request: Request, response: Response, group_name: Optional[str]
|
||||
async def package(request: Request, response: Response, package_name: Optional[str] = None, repo: Optional[str] = None, variant: Optional[str] = None) -> Response:
|
||||
global state
|
||||
|
||||
repo = repo or DEFAULT_REPO
|
||||
|
||||
packages = []
|
||||
provides = []
|
||||
for s in state.sources.values():
|
||||
for k, p in sorted(s.packages.items()):
|
||||
is_package_exact = (package_name is None or p.name == package_name)
|
||||
if is_package_exact or package_name in p.provides:
|
||||
if not repo or p.repo == repo:
|
||||
if p.repo == repo:
|
||||
if not variant or p.repo_variant == variant:
|
||||
if is_package_exact:
|
||||
packages.append((s, p))
|
||||
@@ -298,7 +301,7 @@ async def package(request: Request, response: Response, package_name: Optional[s
|
||||
"request": request,
|
||||
"packages": packages,
|
||||
"repos": repos,
|
||||
"repo_filter": repo or None,
|
||||
"repo_filter": repo,
|
||||
}, headers=dict(response.headers))
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user