diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2020-04-22 10:22:35 +0200 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2020-04-22 10:30:00 +0200 |
commit | 6027281ba9759daff31c2763173d21fde4b8a617 (patch) | |
tree | 17eda3c932c88edda8bf05e0f9fa812f79bb3865 | |
parent | d3c08cb729461fd6e66065946251c60b223fa580 (diff) |
messages: patch-messages: Read from debbugs logs.
-rw-r--r-- | mumi/messages.scm | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/mumi/messages.scm b/mumi/messages.scm index 3d38c3e..ec36f7f 100644 --- a/mumi/messages.scm +++ b/mumi/messages.scm @@ -32,6 +32,7 @@ #:use-module (debbugs bug) #:use-module (email email) #:use-module (mumi config) + #:use-module (mumi debbugs) #:use-module ((mumi bugs) #:prefix db:) #:use-module (web client) #:export (search-bugs @@ -255,14 +256,19 @@ the difference by providing the current file size as an offset." (define-public (patch-messages bug-id) "Return list of messages relating to the bug BUG-ID. Cache the result for a while." - (define mbox (bug-id->mbox-file bug-id)) - (if (file-exists? mbox) + (define archived-log + (bug-id->log-file bug-id #:archived? #t)) + (define active-log + (bug-id->log-file bug-id)) + (define file + (or (and (file-exists? archived-log) archived-log) + (and (file-exists? active-log) active-log))) + (if file (let ((key (list 'patch-messages bug-id))) (or (cached? key) (cache! key - (call-with-input-file mbox - (lambda (port) - (map parse-email (mbox->emails port))))))) + (call-with-input-file file + read-emails-from-bug-log)))) '())) (define* (search-bugs query #:key (sets '()) (max 400)) |