From 6d3e8660bdf04c80ad55f5cdb873bbd4fd37ceea Mon Sep 17 00:00:00 2001 From: Christopher Baines Date: Sun, 3 May 2020 21:22:36 +0100 Subject: [PATCH] Allow filtering by substitute availability for derivation outputs --- guix-data-service/web/revision/controller.scm | 8 ++++++++ guix-data-service/web/revision/html.scm | 16 ++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/guix-data-service/web/revision/controller.scm b/guix-data-service/web/revision/controller.scm index 3ac7cdc..9a253cc 100644 --- a/guix-data-service/web/revision/controller.scm +++ b/guix-data-service/web/revision/controller.scm @@ -199,6 +199,10 @@ request `((search_query ,identity) (after_path ,identity) + (substitutes_available_from ,parse-number + #:multi-value) + (substitutes_not_available_from ,parse-number + #:multi-value) (output_consistency ,identity #:default "any") (system ,parse-system #:default "x86_64-linux") @@ -849,6 +853,10 @@ conn commit-hash #:search-query (assq-ref query-parameters 'search_query) + #:nars-from-build-servers + (assq-ref query-parameters 'substitutes_available_from) + #:no-nars-from-build-servers + (assq-ref query-parameters 'substitutes_not_available_from) #:output-consistency (assq-ref query-parameters 'output_consistency) #:system (assq-ref query-parameters 'system) diff --git a/guix-data-service/web/revision/html.scm b/guix-data-service/web/revision/html.scm index f92ef99..ebcf645 100644 --- a/guix-data-service/web/revision/html.scm +++ b/guix-data-service/web/revision/html.scm @@ -1231,6 +1231,12 @@ figure { #:key (path-base "/revision/") header-text header-link) + (define substitute-availability-options + (map (match-lambda + ((id url) + (cons url id))) + build-server-urls)) + (layout #:body `(,(header) @@ -1258,6 +1264,16 @@ figure { "Search query" query-parameters #:help-text "List outputs where the file name matches this query.") + ,(form-horizontal-control + "Substitutes available from" query-parameters + #:options substitute-availability-options + #:help-text "" + #:font-family "monospace") + ,(form-horizontal-control + "Substitutes not available from" query-parameters + #:options substitute-availability-options + #:help-text "" + #:font-family "monospace") ,(form-horizontal-control "Output consistency" query-parameters #:allow-selecting-multiple-options #f