From 66988068b79ca5677c4c7f4fed66a815a1b33d53 Mon Sep 17 00:00:00 2001 From: jao Date: Mon, 8 Nov 2021 00:47:34 +0000 Subject: gnus + nnml + notmuch --- lib/net/jao-maildir.el | 28 +++++++++++++++++----------- 1 file changed, 17 insertions(+), 11 deletions(-) (limited to 'lib/net') diff --git a/lib/net/jao-maildir.el b/lib/net/jao-maildir.el index d7cd4d6..18a1725 100644 --- a/lib/net/jao-maildir.el +++ b/lib/net/jao-maildir.el @@ -35,6 +35,7 @@ (defvar jao-maildir-tracked-maildirs nil) (defvar jao-maildir-info-string "") (defvar jao-maildir-home (expand-file-name "~/var/mail")) +(defvar jao-maildir-news-home (expand-file-name "~/var/news")) (defgroup jao-maildir-faces nil "Faces" :group 'faces) @@ -152,32 +153,37 @@ (jao-maildir--setup-watches cb)) ;;;###autoload -(defun jao-maildir-file-to-group (file) +(defun jao-maildir-file-to-group (file &optional maildir newsdir) "Calculate the Gnus group name from the given file name. Example: IN: /home/jao/var/mail/jao/foo/cur/1259184569.M4818P3384.localhost,W=6921:2,S - OUT: nnimap:jao/foo + OUT: nnml:jao.foo + + IN: /home/jao/.emacs.d/gnus/Mail/jao.trove/32570, /home/jao/.emacs.d/gnus/Mail/ + OUT: nnml:jao.trove IN: /home/jao/var/mail/gmane/foo/bar/100 - OUT: nntp+localhost:gmane.foo.bar + OUT: nntp:gmane.foo.bar IN: /home/jao/var/mail/bigml/cur/1259176906.M17483P24679.localhost,W=2488:2,S OUT:nnimap:bigml/inbox" (let* ((g (directory-file-name (file-name-directory file))) - (g (replace-regexp-in-string (file-name-as-directory jao-maildir-home) - "" g)) + (g (replace-regexp-in-string + (file-name-as-directory (or maildir jao-maildir-home)) "" g)) + (g (replace-regexp-in-string + (file-name-as-directory (or newsdir jao-maildir-news-home)) "" g)) (nntp (string-match-p "^\\(gmane\\|gwene\\)/" g)) - (g (if nntp - (concat "nntp+localhost:" g) - (replace-regexp-in-string "^\\([^/]+\\)/" "nnimap:\\1/" - (file-name-directory g) t))) - (g (if nntp (replace-regexp-in-string "/" "." g) g)) + (g (cond (nntp (concat "nntp:" g)) + ((file-name-directory g) + (replace-regexp-in-string "^\\([^/]+\\)/" "nnml:\\1/" + (file-name-directory g) t)) + (t (concat "nnml:" g)))) + (g (replace-regexp-in-string "/" "." g)) (g (replace-regexp-in-string "[/.]$" "" g))) (cond ((string-match ":$" g) (concat g "inbox")) (nntp g) (t (replace-regexp-in-string ":\\." ":" g))))) - (provide 'jao-maildir) ;;; jao-maildir.el ends here -- cgit v1.2.3