aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Baines <mail@cbaines.net>2020-10-09 19:31:51 +0100
committerChristopher Baines <mail@cbaines.net>2020-10-09 19:31:51 +0100
commit6023aa8caf6e7098109b756ca490ca73d0cbe559 (patch)
tree42dede4b8e012b582481bbfe5999c41d8a5d7d93
parent51204aefca14a0eb6777f9fb6ee676675c41c49b (diff)
downloaddata-service-6023aa8caf6e7098109b756ca490ca73d0cbe559.tar
data-service-6023aa8caf6e7098109b756ca490ca73d0cbe559.tar.gz
Improve select-job-for-commit
It now returns #f or a list, rather than the empty list or a nested list.
-rw-r--r--guix-data-service/jobs/load-new-guix-revision.scm4
-rw-r--r--guix-data-service/web/compare/html.scm20
-rw-r--r--guix-data-service/web/revision/html.scm61
-rw-r--r--tests/jobs-load-new-guix-revision.scm2
4 files changed, 44 insertions, 43 deletions
diff --git a/guix-data-service/jobs/load-new-guix-revision.scm b/guix-data-service/jobs/load-new-guix-revision.scm
index de9d4a8..691cda1 100644
--- a/guix-data-service/jobs/load-new-guix-revision.scm
+++ b/guix-data-service/jobs/load-new-guix-revision.scm
@@ -1388,7 +1388,9 @@ GROUP BY 1, 2")
"SELECT id, commit, source, git_repository_id "
"FROM load_new_guix_revision_jobs WHERE commit = $1")
(list commit))))
- result))
+ (match result
+ (() #f)
+ ((job) job))))
(define* (select-recent-job-events conn
#:key (limit 8))
diff --git a/guix-data-service/web/compare/html.scm b/guix-data-service/web/compare/html.scm
index 684ca7e..8fdc80d 100644
--- a/guix-data-service/web/compare/html.scm
+++ b/guix-data-service/web/compare/html.scm
@@ -1034,26 +1034,26 @@
(div (@ (class "container"))
(h1 "Unknown commit")
,(if (invalid-query-parameter? base-commit)
- (if (null? base-job)
- `(p "No known revision with commit "
- (strong (samp ,(invalid-query-parameter-value base-commit)))
- ".")
+ (if base-job
`(p "Revision "
(a (@ (href
,(string-append "/revision/"
(invalid-query-parameter-value base-commit))))
(strong (samp ,(invalid-query-parameter-value base-commit))))
- " is queued for processing."))
+ " is queued for processing.")
+ `(p "No known revision with commit "
+ (strong (samp ,(invalid-query-parameter-value base-commit)))
+ "."))
'())
,(if (invalid-query-parameter? target-commit)
- (if (null? target-job)
- `(p "No known revision with commit "
- (strong (samp ,(invalid-query-parameter-value target-commit)))
- ".")
+ (if target-job
`(p "Revision "
(a (@ (href
,(string-append "/revision/"
(invalid-query-parameter-value target-commit))))
(strong (samp ,(invalid-query-parameter-value target-commit))))
- " is queued for processing."))
+ " is queued for processing.")
+ `(p "No known revision with commit "
+ (strong (samp ,(invalid-query-parameter-value target-commit)))
+ "."))
'())))))
diff --git a/guix-data-service/web/revision/html.scm b/guix-data-service/web/revision/html.scm
index 32cd3ec..77a3e13 100644
--- a/guix-data-service/web/revision/html.scm
+++ b/guix-data-service/web/revision/html.scm
@@ -2147,36 +2147,35 @@ figure {
`(,(header)
(div
(@ (class "container"))
- ,@(match job
- (()
- `((h1 "Unknown revision")
- (p "No known revision with commit "
- (strong (samp ,commit-hash)))))
- ((jobs ...)
- `((div
- (@ (class "row"))
- (div
- (@ (class "col-md-12"))
- (h1 (@ (style "white-space: nowrap;"))
- "Revision " (samp ,commit-hash))))
- (div
- (@ (class "row"))
+ ,@(if job
+ `((div
+ (@ (class "row"))
+ (div
+ (@ (class "col-md-12"))
+ (h1 (@ (style "white-space: nowrap;"))
+ "Revision " (samp ,commit-hash))))
(div
- (@ (class "col-md-6"))
- (h2 "Packages")
- (strong (@ (class "text-center")
- (style "font-size: 2em; display: block;"))
- "Unknown")
+ (@ (class "row"))
+ (div
+ (@ (class "col-md-6"))
+ (h2 "Packages")
+ (strong (@ (class "text-center")
+ (style "font-size: 2em; display: block;"))
+ "Unknown")
+
+ ,@(if (null? git-repositories-and-branches)
+ '()
+ (view-revision/git-repositories
+ git-repositories-and-branches
+ commit-hash))
+ ,@(view-revision/jobs-and-events jobs-and-events))
+ (div
+ (@ (class "col-md-6"))
+ (h3 "Derivations")
+ (strong (@ (class "text-center")
+ (style "font-size: 2em; display: block;"))
+ "Unknown"))))
+ `((h1 "Unknown revision")
+ (p "No known revision with commit "
+ (strong (samp ,commit-hash)))))))))
- ,@(if (null? git-repositories-and-branches)
- '()
- (view-revision/git-repositories
- git-repositories-and-branches
- commit-hash))
- ,@(view-revision/jobs-and-events jobs-and-events))
- (div
- (@ (class "col-md-6"))
- (h3 "Derivations")
- (strong (@ (class "text-center")
- (style "font-size: 2em; display: block;"))
- "Unknown"))))))))))
diff --git a/tests/jobs-load-new-guix-revision.scm b/tests/jobs-load-new-guix-revision.scm
index 99acfa7..7d722af 100644
--- a/tests/jobs-load-new-guix-revision.scm
+++ b/tests/jobs-load-new-guix-revision.scm
@@ -21,7 +21,7 @@
(exec-query conn "TRUNCATE guix_revisions CASCADE")
(test-equal "select-job-for-commit works"
- '()
+ #f
(select-job-for-commit conn "does not exist"))
(exec-query conn "TRUNCATE guix_revisions CASCADE")