Commit 9d9bcb50 authored by Ulf Jasper's avatar Ulf Jasper Committed by Ulf Jasper
Browse files

Newsticker: fix broken image download via url-retrieve, again.

* lisp/net/newst-backend.el
(newsticker--image-download-by-url-callback): Make this function
actually work: Check status properly, then save image.
parent 56dfc811
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
   
* net/newst-backend.el * net/newst-backend.el
(newsticker--image-download-by-url-callback): Make this function (newsticker--image-download-by-url-callback): Make this function
actually work: First save image then check status. actually work: Check status properly, then save image.
   
2014-10-20 Stefan Monnier <monnier@iro.umontreal.ca> 2014-10-20 Stefan Monnier <monnier@iro.umontreal.ca>
   
......
...@@ -1905,6 +1905,17 @@ STATUS is the return status as delivered by `url-retrieve'. ...@@ -1905,6 +1905,17 @@ STATUS is the return status as delivered by `url-retrieve'.
FEED-NAME is the name of the feed that the news were retrieved FEED-NAME is the name of the feed that the news were retrieved
from. from.
The image is saved in DIRECTORY as FILENAME." The image is saved in DIRECTORY as FILENAME."
(let ((do-save
(or (not status)
(let ((status-type (car status))
(status-details (cdr status)))
(cond ((eq status-type :redirect)
;; don't care about redirects
t)
((eq status-type :error)
;; silently ignore errors
nil))))))
(when do-save
(let ((buf (get-buffer-create (concat " *newsticker-url-image-" feed-name "-" (let ((buf (get-buffer-create (concat " *newsticker-url-image-" feed-name "-"
directory "*"))) directory "*")))
(result (string-to-multibyte (buffer-string)))) (result (string-to-multibyte (buffer-string))))
...@@ -1916,18 +1927,7 @@ The image is saved in DIRECTORY as FILENAME." ...@@ -1916,18 +1927,7 @@ The image is saved in DIRECTORY as FILENAME."
(search-forward "\n\n") (search-forward "\n\n")
(delete-region (point-min) (point)) (delete-region (point-min) (point))
;; save ;; save
(newsticker--image-save buf directory filename)) (newsticker--image-save buf directory filename)))))
(when status
(let ((status-type (car status))
(status-details (cdr status)))
(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) (defun newsticker--insert-image (img string)
"Insert IMG with STRING at point." "Insert IMG with STRING at point."
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment