* http-get and GDS (Google Desktop Search)
@ 2006-02-08 7:13 Mathias Dahl
[not found] ` <dsc7e6$t7d$1@news.sap-ag.de>
0 siblings, 1 reply; 6+ messages in thread
From: Mathias Dahl @ 2006-02-08 7:13 UTC (permalink / raw)
I am trying to see if I can make a simple Emacs-interface to leverage
the search functionality of Google Desktop Search. This is what I have
right now:
(require 'http-get)
(defvar gds-url nil
"GDS URL")
(setq gds-url "http://127.0.0.1:4664/search&s=long_secure_token_or_whatever?q=")
(defun gds-test ()
(http-get
(concat gds-url "emacs")))
When I evaluate (gds-test) I get nothing in return.
If I paste the same URL in the shell and use wget, it can fetch the
data, so the URL syntaxt is correct.
NOTE: The `long_secure_token_or_whatever' above is something else on
my system, but I get the feeling that I should not post that publicly.
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: http-get and GDS (Google Desktop Search)
[not found] ` <dsc7e6$t7d$1@news.sap-ag.de>
@ 2006-02-08 10:18 ` Mathias Dahl
2006-02-08 11:20 ` Xavier Maillard
[not found] ` <mailman.229.1139401011.3144.help-gnu-emacs@gnu.org>
0 siblings, 2 replies; 6+ messages in thread
From: Mathias Dahl @ 2006-02-08 10:18 UTC (permalink / raw)
Klaus Straubinger <KSNetz@UseNet.ArcorNews.DE> writes:
> Why don't you use the built-in (at least in your Emacs version, I assume
> from "User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (windows-nt)")
> URL package to retrieve data from a URL?
Yeah, why don't I? :)
I did not know about it. I just looked it up and it does not even have
a docstring and no info how it works. When looking at the code I
stumbled upon `url-retrieve-synchronously', which has some
documentation. I'll look into using one of these.
Thanks for the hint!
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: http-get and GDS (Google Desktop Search)
2006-02-08 10:18 ` Mathias Dahl
@ 2006-02-08 11:20 ` Xavier Maillard
[not found] ` <mailman.229.1139401011.3144.help-gnu-emacs@gnu.org>
1 sibling, 0 replies; 6+ messages in thread
From: Xavier Maillard @ 2006-02-08 11:20 UTC (permalink / raw)
Cc: help-gnu-emacs
From: Mathias Dahl <brakjoller@gmail.com>
Klaus Straubinger <KSNetz@UseNet.ArcorNews.DE> writes:
> Why don't you use the built-in (at least in your Emacs version, I assume
> from "User-Agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (windows-nt)")
> URL package to retrieve data from a URL?
Yeah, why don't I? :)
I did not know about it. I just looked it up and it does not even have
a docstring and no info how it works. When looking at the code I
stumbled upon `url-retrieve-synchronously', which has some
documentation. I'll look into using one of these.
Feedback welcome if url.el works for you. I also tried to do a webapp using
url but I gave up and turned back on http package which is much more
straightforward (documentation, etc...).
Xavier
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: http-get and GDS (Google Desktop Search)
[not found] ` <dscrkm$gn3$1@news.sap-ag.de>
@ 2006-02-08 13:52 ` Mathias Dahl
[not found] ` <dscu4r$k1q$1@news.sap-ag.de>
0 siblings, 1 reply; 6+ messages in thread
From: Mathias Dahl @ 2006-02-08 13:52 UTC (permalink / raw)
Klaus Straubinger <KSNetz@UseNet.ArcorNews.DE> writes:
> It works for me. I use it in Gnus to retrieve some RSS groups
> and of course together with Emacs/W3.
It works for me too:
;; Emacs GDS-prototype
(require 'xml)
(defvar gds-base-url nil
"")
(setq gds-base-url "http://127.0.0.1:4664/search&s=SECURITY-TOKEN")
(defun gds-get-xml-response (search)
"Do a Google Desktop Search for SEARCH, return result as xml"
(let (data xml
gds-buffer
(url-buffer
(url-retrieve-synchronously
(format "%s?q=%s&format=xml" gds-base-url search))))
(save-excursion
(set-buffer url-buffer)
(setq data (buffer-substring (point-min) (point-max)))
;; Create our own buffer if we need to look at the data for
;; debugging purposes.
(setq gds-buffer (get-buffer-create "*gds"))
(set-buffer gds-buffer)
(erase-buffer)
(insert data)
(goto-char (point-min))
(if (not (search-forward-regexp "^<\\?xml" nil t))
(message "No XML data from GDS search")
(setq xml (xml-parse-region (match-beginning 0) (point-max)))))))
;; Code ends here
Now it's just a matter of doing something useful with this, add a
couple of options etc...
/Mathias
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: http-get and GDS (Google Desktop Search)
[not found] ` <dscu4r$k1q$1@news.sap-ag.de>
@ 2006-02-08 15:32 ` Mathias Dahl
2006-02-08 19:00 ` Mathias Dahl
0 siblings, 1 reply; 6+ messages in thread
From: Mathias Dahl @ 2006-02-08 15:32 UTC (permalink / raw)
Klaus Straubinger <KSNetz@UseNet.ArcorNews.DE> writes:
> Now if you have a look at what url-insert-file-contents does, you will
> see that you can save several lines of code by using it.
>
> (defun gds-get-xml-response (search)
> "Do a Google Desktop Search for SEARCH, return result as xml"
> (with-temp-buffer
> (url-insert-file-contents
> (format "%s?q=%s&format=xml" gds-base-url search))
> (goto-char (point-min))
> (if (not (search-forward-regexp "^<\\?xml" nil t))
> (message "No XML data from GDS search")
> (xml-parse-region (match-beginning 0) (point-max)))))
Ooops! :)
Thanks!
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: http-get and GDS (Google Desktop Search)
2006-02-08 15:32 ` Mathias Dahl
@ 2006-02-08 19:00 ` Mathias Dahl
0 siblings, 0 replies; 6+ messages in thread
From: Mathias Dahl @ 2006-02-08 19:00 UTC (permalink / raw)
Mathias Dahl <brakjoller@gmail.com> writes:
Just posted some code with a working implementation of this to
gnu.emacs.sources.
Enjoy!
/Mathias
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2006-02-08 19:00 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-02-08 7:13 http-get and GDS (Google Desktop Search) Mathias Dahl
[not found] ` <dsc7e6$t7d$1@news.sap-ag.de>
2006-02-08 10:18 ` Mathias Dahl
2006-02-08 11:20 ` Xavier Maillard
[not found] ` <mailman.229.1139401011.3144.help-gnu-emacs@gnu.org>
[not found] ` <dscrkm$gn3$1@news.sap-ag.de>
2006-02-08 13:52 ` Mathias Dahl
[not found] ` <dscu4r$k1q$1@news.sap-ag.de>
2006-02-08 15:32 ` Mathias Dahl
2006-02-08 19:00 ` Mathias Dahl
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).