shr.el (shr-save-contents): New command and keystroke.

This commit is contained in:
Lars Magne Ingebrigtsen 2010-10-20 00:02:35 +00:00 committed by Katsumi Yamaoka
parent b643306fb0
commit cdf1fca4ad
2 changed files with 19 additions and 0 deletions

View file

@ -2,6 +2,7 @@
* shr.el (shr-find-fill-point): Don't leave blanks at the start of some
lines.
(shr-save-contents): New command and keystroke.
* nndoc.el (nndoc-type-alist): Add git support.
(nndoc-git-type-p): New function.

View file

@ -98,6 +98,7 @@ cid: URL as the argument.")
(define-key map "I" 'shr-insert-image)
(define-key map "u" 'shr-copy-url)
(define-key map "v" 'shr-browse-url)
(define-key map "o" 'shr-save-contents)
(define-key map "\r" 'shr-browse-url)
map))
@ -323,6 +324,23 @@ redirects somewhere else."
(message "No link under point")
(browse-url url))))
(defun shr-save-contents (directory)
"Save the contents from URL in a file."
(interactive "DSave contents of URL to directory: ")
(let ((url (get-text-property (point) 'shr-url)))
(if (not url)
(message "No link under point")
(url-retrieve (shr-encode-url url)
'shr-store-contents (list url directory)))))
(defun shr-store-contents (status url directory)
(unless (plist-get status :error)
(when (or (search-forward "\n\n" nil t)
(search-forward "\r\n\r\n" nil t))
(write-region (point) (point-max)
(expand-file-name (file-name-nondirectory url)
directory)))))
(defun shr-image-fetched (status buffer start end)
(when (and (buffer-name buffer)
(not (plist-get status :error)))