summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2020-04-22 10:22:35 +0200
committerRicardo Wurmus <rekado@elephly.net>2020-04-22 10:30:00 +0200
commit6027281ba9759daff31c2763173d21fde4b8a617 (patch)
tree17eda3c932c88edda8bf05e0f9fa812f79bb3865
parentd3c08cb729461fd6e66065946251c60b223fa580 (diff)
messages: patch-messages: Read from debbugs logs.
-rw-r--r--mumi/messages.scm16
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))