]> git.eshelyaron.com Git - emacs.git/commitdiff
Newsticker: fix broken image download via url-retrieve.
authorUlf Jasper <>
Mon, 20 Oct 2014 18:39:58 +0000 (20:39 +0200)
committerUlf Jasper <ulf.jasper@web.de>
Mon, 20 Oct 2014 18:39:58 +0000 (20:39 +0200)
* lisp/net/newst-backend.el
(newsticker--image-download-by-url-callback): Make this function
actually work: First save image then check status.

lisp/ChangeLog
lisp/net/newst-backend.el

index b27f8a0d17ec2fe441ebc4c71e07dacc63820cd2..187953b41d3f0a95111558ca4118e784a70215cb 100644 (file)
@@ -1,3 +1,9 @@
+2014-10-20  Ulf Jasper  <ulf.jasper@web.de>
+
+       * net/newst-backend.el
+       (newsticker--image-download-by-url-callback): Make this function
+       actually work: First save image then check status.
+
 2014-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
 
        * textmodes/css-mode.el (scss-mode): New major-mode.
index 4052116074d1d1d508a9031ccb6a1825e81b5eb1..a8b0d1b7d6246aa4f9ce9713a40a45ff836c6e0d 100644 (file)
@@ -1905,23 +1905,29 @@ STATUS is the return status as delivered by `url-retrieve'.
 FEED-NAME is the name of the feed that the news were retrieved
 from.
 The image is saved in DIRECTORY as FILENAME."
+  (let ((buf (get-buffer-create (concat " *newsticker-url-image-" feed-name "-"
+                                        directory "*")))
+        (result (string-to-multibyte (buffer-string))))
+    (set-buffer buf)
+    (erase-buffer)
+    (insert result)
+    ;; remove MIME header
+    (goto-char (point-min))
+    (search-forward "\n\n")
+    (delete-region (point-min) (point))
+    ;; save
+    (newsticker--image-save buf directory filename))
   (when status
     (let ((status-type (car status))
           (status-details (cdr status)))
-      (cond ((eq status-type :error)
-             (newsticker--image-remove directory feed-name))
-            (t
-             (let ((buf (get-buffer-create (concat " *newsticker-url-image-" feed-name "-" directory "*")))
-                   (result (string-to-multibyte (buffer-string))))
-               (set-buffer buf)
-               (erase-buffer)
-               (insert result)
-               ;; remove MIME header
-               (goto-char (point-min))
-               (search-forward "\n\n")
-               (delete-region (point-min) (point))
-               ;; save
-               (newsticker--image-save buf directory filename)))))))
+      (cond ((eq status-type :redirect)
+             ;; don't care about redirects
+             )
+            ((eq status-type :error)
+             (message "%s: Error while retrieving image from %s: %s: \"%s\""
+                      (format-time-string "%A, %H:%M" (current-time))
+                      feed-name
+                      (car status-details) (cdr status-details)))))))
 
 (defun newsticker--insert-image (img string)
   "Insert IMG with STRING at point."