From 63ed618e337a466772aadd6ef3b919b7f04b666d Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 6 Sep 2021 14:03:28 +0200 Subject: swh: accept null 'date' fields. * guix/swh.scm (maybe-null): New procedure. ()[date]: Use it. --- guix/swh.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'guix/swh.scm') diff --git a/guix/swh.scm b/guix/swh.scm index 7b14a70693..4d0a647d6f 100644 --- a/guix/swh.scm +++ b/guix/swh.scm @@ -186,6 +186,12 @@ Software Heritage." (ref 10)))))) str)) ;oops! +(define (maybe-null proc) + (match-lambda + ((? null?) #f) + ('null #f) + (obj (proc obj)))) + (define string* ;; Converts "string or #nil" coming from JSON to "string or #f". (match-lambda @@ -319,10 +325,13 @@ FALSE-IF-404? is true, return #f upon 404 responses." (target-url release-target-url "target_url")) ;; +;; Note: Some revisions, such as those for "nixguix" origins (e.g., +;; ), +;; have their 'date' field set to null. (define-json-mapping make-revision revision? json->revision (id revision-id) - (date revision-date "date" string->date*) + (date revision-date "date" (maybe-null string->date*)) (directory revision-directory) (directory-url revision-directory-url "directory_url")) -- cgit v1.2.3