From 7577a89284cf3c187af66157796c8a24174b594f Mon Sep 17 00:00:00 2001 From: sterni Date: Tue, 30 Nov 2021 17:42:05 +0100 Subject: feat(sterni/mblog): add package to read maildirs Change-Id: I7be8d8b7d12bb194712aa26f3ddad74340357779 Reviewed-on: https://cl.tvl.fyi/c/depot/+/5070 Tested-by: BuildkiteCI Reviewed-by: sterni --- users/sterni/mblog/maildir.lisp | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 users/sterni/mblog/maildir.lisp (limited to 'users/sterni/mblog/maildir.lisp') diff --git a/users/sterni/mblog/maildir.lisp b/users/sterni/mblog/maildir.lisp new file mode 100644 index 0000000000..aca014203e --- /dev/null +++ b/users/sterni/mblog/maildir.lisp @@ -0,0 +1,17 @@ +(in-package :maildir) +(declaim (optimize (safety 3))) + +(defun list (dir) + "Returns a list of pathnames to messages in a maildir. The messages are + returned in no guaranteed order. Note that this function doesn't fully + implement the behavior prescribed by maildir(5): It only looks at `cur` + and `new` and won't clean up `tmp` nor move files from `new` to `cur`, + since it is strictly read-only." + (flet ((subdir-contents (subdir) + (directory + (merge-pathnames + (make-pathname :directory `(:relative ,subdir) + :name :wild :type :wild) + dir)))) + (mapcan #'subdir-contents '("cur" "new")))) + -- cgit 1.4.1