gnus-html.el: add and use gnus-html-image-url-blocked-p
authorTed Zlatanov <tzz@lifelogs.com>
Wed, 1 Sep 2010 16:21:47 +0000 (11:21 -0500)
committerTed Zlatanov <tzz@lifelogs.com>
Wed, 1 Sep 2010 16:21:47 +0000 (11:21 -0500)
* gnus-html.el (gnus-html-image-url-blocked-p): New function.
(gnus-html-prefetch-images, gnus-html-wash-tags): Use it.

lisp/ChangeLog
lisp/gnus-html.el

index 54c24be..86e2cf2 100644 (file)
@@ -1,3 +1,8 @@
+2010-09-01  Teodor Zlatanov  <tzz@lifelogs.com>
+
+       * gnus-html.el (gnus-html-image-url-blocked-p): New function.
+       (gnus-html-prefetch-images, gnus-html-wash-tags): Use it.
+
 2010-09-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * gnus-html.el (gnus-html-put-image): Use the deleted text as the image
@@ -16,7 +21,7 @@
 
 2010-09-01  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
-       * gnus-html.el (gnus-html-wash-tags): Delete the IMG_ALT region. 
+       * gnus-html.el (gnus-html-wash-tags): Delete the IMG_ALT region.
        (gnus-max-image-proportion): New variable.
        (gnus-html-rescale-image): New function.
        (gnus-html-put-image): Rescale images.
index 49e0ea6..9acbfa3 100644 (file)
@@ -136,8 +136,7 @@ fit these criteria."
                    (delete-region start end)
                    (gnus-put-image image (gnus-string-or string "*")))))
            ;; Normal, external URL.
-           (when (or (null gnus-blocked-images)
-                     (not (string-match gnus-blocked-images url)))
+           (unless (gnus-html-image-url-blocked-p url)
              (let ((file (gnus-html-image-id url)))
                (if (file-exists-p file)
                    ;; It's already cached, so just insert it.
@@ -284,6 +283,15 @@ fit these criteria."
          (decf total-size (cadr file))
          (delete-file (nth 2 file)))))))
 
+
+(defun gnus-html-image-url-blocked-p (url)
+"Find out if URL is blocked by `gnus-blocked-images'."
+  (let ((ret (and gnus-blocked-images
+                  (string-match gnus-blocked-images url))))
+    (when ret
+      (gnus-message 8 "Image URL %s is blocked by gnus-blocked-images regex %s" url gnus-blocked-images))
+    ret))
+
 ;;;###autoload
 (defun gnus-html-prefetch-images (summary)
   (let (blocked-images urls)
@@ -293,13 +301,11 @@ fit these criteria."
       (save-match-data
        (while (re-search-forward "<img.*src=[\"']\\([^\"']+\\)" nil t)
          (let ((url (match-string 1)))
-           (if (or (null blocked-images)
-                    (not (string-match blocked-images url)))
-                (unless (file-exists-p (gnus-html-image-id url))
-                  (push url urls)
-                  (push (gnus-html-image-id url) urls)
-                  (push "-o" urls))
-              (gnus-message 8 "Image URL %s is blocked" url))))
+           (unless (gnus-html-image-url-blocked-p url)
+              (unless (file-exists-p (gnus-html-image-id url))
+                (push url urls)
+                (push (gnus-html-image-id url) urls)
+                (push "-o" urls)))))
        (let ((process
               (apply 'start-process 
                      "images" nil "curl"