From: Rick Frankel <rick@rickster.com>
To: Nicolas Richard <theonewiththeevillook@yahoo.fr>
Cc: emacs-orgmode@gnu.org
Subject: Re: Drag images from Firefox to org-mode
Date: Fri, 18 Oct 2013 10:44:37 -0400 [thread overview]
Message-ID: <9265ea6f8a8b76ddf5d77de837d057a8@mail.rickster.com> (raw)
In-Reply-To: <87k3hbqh88.fsf@yahoo.fr>
On 2013-10-18 01:29, Nicolas Richard wrote:
> Rick Frankel <rick@rickster.com> writes:
> One small problem, should be =(1+ (point))=, as the above leaves a
> blank newline at the head of the jpg, making it invalid.
>
> Oops, yes [Initially I had (search-forward "\n\n"), which worked
> fine,... then changed my mind and didn't test. Silly me.]
>
> Your code downloaded two images easily, but
> (signal :error (cdr err))))
> signals a weird error for me (something like: "error in
> process filter: if: peculiar error: http, 404"). I suggest:
>
> (error "Error fetching URL %s: %s" url (cdr err))
That seems fine. I was just following the suggestion in the doc string
for `url-retrieve'.
BTW, did you know that org already has a function which works
perfectly for this purpose (well, it's synchronous, but otherwise...)
`org-feed-get-feed'?
It already has support for url-retrieve, curl and wget.
Here's an implementation using it (which does not handle errors):
#+BEGIN_SRC emacs-lisp
(require 'org-feed)
(defun fetch-image (url &optional destdir)
(with-current-buffer (org-feed-get-feed url)
(write-file
(expand-file-name (file-name-nondirectory url) destdir))
(when (display-graphic-p) (pop-to-buffer (current-buffer)))))
#+END_SRC
and the current implementation with a nicer error message:
#+BEGIN_SRC emacs-lisp
(defun fetch-image (url &optional destdir)
(url-retrieve
url
(lambda (status url destdir)
(let ((err (plist-get status :error)))
(if err (error
"\"%s\" %s." url
(downcase (nth 2 (assq (nth 2 err) url-http-codes))))))
(delete-region
(point-min)
(progn
(re-search-forward "^$" nil 'move)
(1+ (point))))
(write-file
(expand-file-name (file-name-nondirectory url) destdir))
(when (display-graphic-p) (pop-to-buffer (current-buffer))))
`(,url ,destdir) nil t))
#+END_SRC
both are fixed to only display the buffer if running under a window
system (which can grok images.)
next prev parent reply other threads:[~2013-10-18 14:44 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-10-16 10:04 Drag images from Firefox to org-mode Oleh
2013-10-16 13:48 ` Torsten Wagner
2013-10-16 14:22 ` Xebar Saram
2013-10-16 15:52 ` Oleh
2013-10-16 17:28 ` Marcin Borkowski
2013-10-17 11:49 ` Samuel Loury
2013-10-17 3:42 ` Eric Abrahamsen
2013-10-17 12:04 ` Carsten Dominik
2013-10-17 12:43 ` Nicolas Richard
2013-10-17 14:04 ` Rick Frankel
2013-10-17 14:48 ` Nicolas Richard
2013-10-17 16:51 ` Rick Frankel
2013-10-18 5:29 ` Nicolas Richard
2013-10-18 14:44 ` Rick Frankel [this message]
2013-10-18 15:39 ` Nicolas Richard
2013-10-18 9:24 ` Oleh
2013-10-18 9:28 ` Carsten Dominik
2013-10-18 9:33 ` Oleh
2013-10-18 9:47 ` Nicolas Richard
2013-10-18 10:04 ` Oleh
2013-10-18 10:23 ` Nicolas Richard
[not found] ` <CAA01p3obTUXshcS-m=iB2KOADAx9eNpj8PK_F5O1x5dLtCobcA@mail.gmail.com>
2013-10-18 11:00 ` Nicolas Richard
2013-10-18 11:06 ` Oleh
2013-10-18 15:03 ` Rick Frankel
2013-10-18 15:36 ` Nicolas Richard
2013-10-18 15:44 ` Rick Frankel
2013-10-18 18:24 ` Rick Frankel
2013-10-18 19:22 ` Oleh
2013-10-18 20:45 ` Rick Frankel
2013-10-19 10:34 ` Oleh
2013-10-20 20:42 ` Nicolas Richard
2013-10-21 7:24 ` Oleh
2013-10-23 17:13 ` Rick Frankel
2013-10-23 18:26 ` Oleh
2013-10-23 18:59 ` Torsten Wagner
2013-10-23 20:01 ` Torsten Wagner
2013-10-24 6:47 ` Christian Moe
2014-01-04 15:01 ` Oleh
2014-01-04 15:17 ` Bastien
2013-10-18 10:44 ` Nicolas Richard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=9265ea6f8a8b76ddf5d77de837d057a8@mail.rickster.com \
--to=rick@rickster.com \
--cc=emacs-orgmode@gnu.org \
--cc=theonewiththeevillook@yahoo.fr \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).