From: Ricardo Wurmus Date: Wed, 11 Mar 2020 21:03:45 +0000 (+0100) Subject: messages: Speed up recent-bugs by using mumimu. X-Git-Tag: 0.0.1~201 X-Git-Url: https://git.elephly.net/?p=software%2Fmumi.git;a=commitdiff_plain;h=10a4ed5779be2d9fdfc41b312c48a995e29b81be;hp=6141adc9ca73beba0ffd964d5f862fa4918a5e3e messages: Speed up recent-bugs by using mumimu. * mumi/messages.scm (recent-bugs): Don't use the Debbugs search-est action; collect messages from the mumimu database instead. --- diff --git a/mumi/messages.scm b/mumi/messages.scm index af76ef5..cce2814 100644 --- a/mumi/messages.scm +++ b/mumi/messages.scm @@ -31,6 +31,7 @@ #:use-module (debbugs bug) #:use-module (email email) #:use-module (mumi config) + #:use-module (mumimu) #:export (search-bugs fetch-bug recent-bugs @@ -217,30 +218,10 @@ result for a while." (define (recent-bugs amount) "Return up to AMOUNT bugs with most recent activity." - ;; "search-est" does not return unique items, so we have to take - ;; more and then filter the results. To allow for caching we round - ;; off the current time to the start of the hour. - (let* ((matches-activity - (soap-invoke* (%config 'debbugs) - search-est - "" - #:max 50 - #:attributes - `((package string-prefix "guix") - (@cdate >= ,(time-second (ago 'months 1)))))) - (matches-new - (soap-invoke* (%config 'debbugs) - search-est - "" - #:max 50 - #:attributes - `((package string-prefix "guix") - (date >= ,(time-second (ago 'months 1)))))) - (unique (delete-duplicates - (filter-map (lambda (item) - (assoc-ref item "id")) - (append matches-new matches-activity)))) - (ids (take unique (min amount (length unique))))) + (let* ((recent-ids + (delete-duplicates + (map mu:bugid (mu:message-list (string-append "date:1m.."))))) + (ids (take recent-ids (min amount (length recent-ids))))) (status-with-cache ids))) (define (easy-bugs)