GNUS:すべての添付ファイルを一度に保存する方法は?
-
27-10-2019 - |
質問
すべての添付ファイルをすぐに保存したいと思います。したがって、gnus-summary-save-save-parts-default-mimeに「。* /.*」に設定します。ただし、「x m」を使用する場合、すべての添付ファイルを取得するだけでなく、「nnimap+my.name@googlemail.com/inbox.2393.1」という名前のファイル(メールを読んでいるアカウントを参照)が含まれています。受け取ったメールの署名。この「タイプ」のファイルを「x m」に保存することから除外するにはどうすればよいですか?言い換えれば、このファイルも保存されないように、GNUS-Summary-Save-Parts-Default-Default-Mimeの正しいRegexpを指定するにはどうすればよいですか?
解決
これ defadvice
ファイル名がない部品を除外して、今のところ望むことをします(この場合、記事自体に当てはまる):
(defadvice gnus-summary-save-parts-1 (around gnus-summary-save-parts-exclude-self activate)
(let ((handle (ad-get-arg 2)))
(unless (and (not (stringp (car handle)))
(not (mm-handle-filename handle)))
ad-do-it)))
GNUS V5.13を使用しています。同じバージョンまたは類似のバージョンも使用している場合は、この変更されたバージョンが gnus-summary-save-parts-1
あなたのために働きます。あなたは設定したいと思うでしょう gnus-summary-save-parts-exclude-article
に t
. 。それがあなたのために機能する場合、私はそれのパッチをGNUSプロジェクトに提出します。
注、上記を使用してください defadvice
また 以下のコードを使用しますが、両方を一緒に使用しないでください。 defadviceは、今のところ使用できる簡単な迅速な修正です。以下のコードは、GNUSプロジェクトにパッチとして提出します。これは、GNUS V5.13を使用している場合にシステムで動作するかどうかをテストするためにこれをここに含めました。彼らがこのパッチを受け入れ、それを将来のリリースの一部にした場合、あなたは defadvice
その上;代わりに、カスタマイズすることができます gnus-summary-save-parts-exclude-article
変数。
(require 'gnus)
(require 'gnus-sum)
(defcustom gnus-summary-save-parts-exclude-article nil
"If non-nil don't save article along with attachments."
:group 'gnus-article-mime
:type 'boolean)
(defun gnus-summary-save-parts-1 (type dir handle reverse)
(if (stringp (car handle))
(mapcar (lambda (h) (gnus-summary-save-parts-1 type dir h reverse))
(cdr handle))
(when (if reverse
(not (string-match type (mm-handle-media-type handle)))
(string-match type (mm-handle-media-type handle)))
(let* ((name (or
(mm-handle-filename handle)
(unless gnus-summary-save-parts-exclude-article
(format "%s.%d.%d" gnus-newsgroup-name
(cdr gnus-article-current)
gnus-summary-save-parts-counter))))
(file (when name
(expand-file-name
(gnus-map-function
mm-file-name-rewrite-functions
(file-name-nondirectory
name))
dir))))
(when file
(incf gnus-summary-save-parts-counter)
(unless (file-exists-p file)
(mm-save-part-to-file handle file)))))))