diff options
author | Ricardo Wurmus <rekado@elephly.net> | 2020-04-22 10:58:34 +0200 |
---|---|---|
committer | Ricardo Wurmus <rekado@elephly.net> | 2020-04-22 10:58:34 +0200 |
commit | a5e068e3fb906d1e09e8581cc7d5016f78e4572c (patch) | |
tree | 2e95d1b1a8598adb6c48cdb33e8ca7f83c8c87d8 | |
parent | aea19d8e632b66e0258ac898e54cfa12f77b6e47 (diff) |
xapian: Add index!.
-rw-r--r-- | mumi/xapian.scm | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/mumi/xapian.scm b/mumi/xapian.scm index 3dee381..f1ad7a4 100644 --- a/mumi/xapian.scm +++ b/mumi/xapian.scm @@ -30,7 +30,7 @@ #:use-module (xapian wrap) #:use-module (xapian xapian) #:use-module (rnrs bytevectors) - #:export (index-files search)) + #:export (index! index-files search)) (define (parse-emails files) (n-par-map 4 @@ -178,3 +178,17 @@ messages and index their contents in the Xapian database at DBPATH." (enquire-mset (enquire db query) #:maximum-items pagesize)))))) +(define* (index! #:key full?) + "Index all Debbugs log files corresponding to the selected +packages. When FULL? is #T process also archived issues." + (let* ((packages (%config 'packages)) + (active-numbers (extract-bug-numbers packages)) + (archived-numbers (extract-bug-numbers packages #:archived? #t)) + (active-files + (map bug-id->log-file active-numbers)) + (archived-files + (map (cut bug-id->log-file <> #:archived? #t) + archived-numbers))) + (index-files (if full? + (append active-files archived-files) + active-files)))) |