diff lisp/gnus/gnus-gravatar.el @ 110805:6bcb1cd1309b

[Gnus] Introduce gnus-gravatar-too-ugly. gnus-gravatar.el (gnus-gravatar-too-ugly): New user option. gnus-gravatar.el (gnus-gravatar-transform-address): Don't show avatars of people of which mail addresses match gnus-gravatar-too-ugly. gnus.texi (Gravatars): Document gnus-gravatar-too-ugly.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Thu, 07 Oct 2010 12:31:39 +0000
parents 751b2ae689b5
children 605f59122ae2
line wrap: on
line diff
--- a/lisp/gnus/gnus-gravatar.el	Thu Oct 07 11:46:01 2010 +0000
+++ b/lisp/gnus/gnus-gravatar.el	Thu Oct 07 12:31:39 2010 +0000
@@ -42,6 +42,13 @@
   :version "24.1"
   :group 'gnus-gravatar)
 
+(defcustom gnus-gravatar-too-ugly (if (boundp 'gnus-article-x-face-too-ugly)
+				      gnus-article-x-face-too-ugly)
+  "Regexp matching posters whose avatar shouldn't be shown automatically."
+  :type '(choice regexp (const nil))
+  :version "24.1"
+  :group 'gnus-gravatar)
+
 (defun gnus-gravatar-transform-address (header category)
   (gnus-with-article-headers
     (let ((addresses
@@ -55,10 +62,16 @@
              (mail-fetch-field header)))))
       (let ((gravatar-size gnus-gravatar-size))
         (dolist (address addresses)
-          (gravatar-retrieve
-           (car address)
-           'gnus-gravatar-insert
-           (list header address category)))))))
+	  (unless (and gnus-gravatar-too-ugly
+		       (or (string-match gnus-gravatar-too-ugly
+					 (car address))
+			   (and (cdr address)
+				(string-match gnus-gravatar-too-ugly
+					      (cdr address)))))
+	    (gravatar-retrieve
+	     (car address)
+	     'gnus-gravatar-insert
+	     (list header address category))))))))
 
 (defun gnus-gravatar-insert (gravatar header address category)
   "Insert GRAVATAR for ADDRESS in HEADER in current article buffer.